Audio calibration of a portable playback device

ABSTRACT

Disclosed herein are example techniques to facilitate calibrating a portable playback device. An example implementation involves determining that a playback device is to perform an equalization calibration of the playback device and initiating the equalization calibration. Initiating the equalization calibration involves (i) outputting audio content, (ii) capturing audio data representing reflections of the audio content within an area in which the playback device is located, (iii) determining an acoustic response of the area in which the playback device is located, (iv) selecting a stored acoustic response from the acoustic response database that is most similar to the determined acoustic response of the area in which the playback device is located, and (v) applying to the audio content, via the playback device, a set of stored audio calibration settings associated with the selected stored acoustic area response.

FIELD OF THE DISCLOSURE

The present disclosure is related to consumer goods and, moreparticularly, to methods, systems, products, features, services, andother elements directed to media playback or some aspect thereof.

BACKGROUND

Options for accessing and listening to digital audio in an out-loudsetting were limited until in 2002, when SONOS, Inc. began developmentof a new type of playback system. Sonos then filed one of its firstpatent applications in 2003, entitled “Method for Synchronizing AudioPlayback between Multiple Networked Devices,” and began offering itsfirst media playback systems for sale in 2005. The Sonos Wireless HomeSound System enables people to experience music from many sources viaone or more networked playback devices. Through a software controlapplication installed on a controller (e.g., smartphone, tablet,computer, voice input device), one can play what she wants in any roomhaving a networked playback device. Media content (e.g., songs,podcasts, video sound) can be streamed to playback devices such thateach room with a playback device can play back corresponding differentmedia content. In addition, rooms can be grouped together forsynchronous playback of the same media content, and/or the same mediacontent can be heard in all rooms synchronously.

BRIEF DESCRIPTION OF THE DRAWINGS

Features, aspects, and advantages of the presently disclosed technologymay be better understood with regard to the following description,appended claims, and accompanying drawings, as listed below. A personskilled in the relevant art will understand that the features shown inthe drawings are for purposes of illustrations, and variations,including different and/or additional features and arrangements thereof,are possible.

FIG. 1A is a partial cutaway view of an environment having a mediaplayback system configured in accordance with aspects of the disclosedtechnology.

FIG. 1B is a schematic diagram of the media playback system of FIG. 1Aand one or more networks.

FIG. 1C is a block diagram of a playback device.

FIG. 1D is a block diagram of a playback device.

FIG. 1E is a block diagram of a network microphone device.

FIG. 1F is a block diagram of a network microphone device.

FIG. 1G is a block diagram of a playback device.

FIG. 1H is a partially schematic diagram of a control device.

FIG. 2A is a diagram of a playback environment within which a playbackdevice may be calibrated.

FIG. 2B is a representation of a database for storing room response dataand corresponding playback device calibration settings.

FIG. 2C is a diagram of a playback environment within which a playbackdevice may be calibrated.

FIG. 2D is a diagram of playback environments within which a playbackdevice may be calibrated.

FIG. 2E is a graphical representation of a database for storing roomresponse data and corresponding playback device calibration settings.

FIG. 3 is a flowchart of a method to calibrate a portable playbackdevice.

FIG. 4A is a first isometric view of a first example portable playbackdevice.

FIG. 4B is a second isometric view of the first example portableplayback device.

FIG. 5 is a top view of a playback device base to be used in conjunctionwith a portable playback device, such as the example portable playbackdevice.

The drawings are for the purpose of illustrating example embodiments,but those of ordinary skill in the art will understand that thetechnology disclosed herein is not limited to the arrangements and/orinstrumentality shown in the drawings.

DETAILED DESCRIPTION I. Overview

Example techniques described herein relate to calibration of a portableplayback device. Any environment has certain acoustic characteristics(“acoustics”) that define how sound travels within that environment. Forinstance, with a room, the size and shape of the room, as well asobjects inside that room, may define the acoustics for that room. Forexample, angles of walls with respect to a ceiling affect how soundreflects off the wall and the ceiling. As another example, furniturepositioning in the room affects how the sound travels in the room.Various types of surfaces within the room may also affect the acousticsof that room; hard surfaces in the room may reflect sound, whereas softsurfaces may absorb sound.

Generally, changing a location of a playback device (e.g., by pickingthe playback device and setting it somewhere else) or rotating theplayback device (e.g., to face a different direction) will cause outputfrom a playback device to interact with the acoustic characteristicsdifferently, as the response of environment acoustics to audio output ofa playback device changes based on the positioning of the playbackdevice. Accordingly, calibrating a playback device that is configuredfor portable use (where the playback device is more frequentlyre-positioned) may involve different considerations than calibrating aplayback device that is expected to be generally stationary (e.g., on abookshelf). Example calibration techniques described herein may beimplemented in portable playback devices to facilitate calibration.

Given its portability, a portable playback device may be expected tochange position and/or orientation relative to a listening environmentrelatively more frequently than a non-portable playback device (i.e., awall-powered playback device). That is, to account for changingconditions of portable playback devices, a calibration process for aportable playback device may be initiated more frequently than, forexample, a calibration process for a stationary playback device. In someexamples, calibration of the portable playback device is initiated whenthe portable playback device is turned on, when the portable playbackdevice plays music, or if the portable playback device has been moved toa new location.

To illustrate, if the portable playback device is moved to a newlocation, calibration of the portable playback device may be initiatedbased on a detection of the movement. Movement of the portable playbackdevice may be detected by way of an accelerometer or, alternatively,based on a user input indicating that the portable playback device hasmoved to a new location. Conversely, calibration may be suspended whenthe portable playback device is in motion.

Further, in some examples, the portable playback device may becompatible with a playback device base. Placement or removal of theportable playback device on the playback device base may initiate orsuspend calibration. In some examples, calibration of the playbackdevice is initiated periodically, or after a threshold amount of timehas elapsed after a previous calibration, in order to account forpotential movement of the portable playback device and changes to theenvironment of the portable playback device. U.S. Pat. No. 9,544,701,entitled “Base Properties in a Media Playback System”, herebyincorporated by reference in its entirety, provides examples of playbackdevices compatible with a base.

Example calibration processes, whether for a stationary or portableplayback device, may involve a playback device outputting audio contentwhile in a given environment (e.g., a room). The audio content may havepredefined spectral content, such as a pink noise, a sweep, or acombination of content. Then, one or more microphones detect theoutputted audio content to facilitate determining an acoustic responseof the room (also referred to herein as a “room response”).

In some examples, these microphones are located in a mobile device andthe microphones detect outputted audio content at one or more differentspatial positions in the room to facilitate determining an acousticresponse of the room. In particular, a mobile device with a microphone,such as a smartphone or tablet (referred to herein as a network device)may be moved to the various locations in the room to detect the audiocontent. These locations may correspond to those locations where one ormore listeners may experience audio playback during regular use (i.e.,listening to) of the playback device. In this regard, the calibrationprocess involves a user physically moving the network device to variouslocations in the room to detect the audio content at one or more spatialpositions in the room. Given that this calibration involves moving themicrophone to multiple locations throughout the room, this calibrationmay also be referred to as a “multi-location calibration” and it maygenerate a “multi-location acoustic response” representing roomacoustics. U.S. Pat. No. 9,706,323 entitled, “Playback DeviceCalibration,” U.S. Pat. No. 9,763,018 entitled, “Calibration of AudioPlayback Devices,”, and U.S. Pat. No. 10,299,061, entitled, “PlaybackDevice Calibration,” which are hereby incorporated by reference in theirentirety, provide examples of multi-location calibration of playbackdevices to account for the acoustics of a room.

Based on a multi-location acoustic response, the media playback systemmay identify calibration settings (e.g., an audio processing algorithm).For instance, a network device may identify an audio processingalgorithm, and transmit to the playback device, data indicating theidentified audio processing algorithm. In some examples, the networkdevice identifies an audio processing algorithm that, when applied tothe playback device, results in audio content output by the playbackdevice having a target audio characteristic, such as a target frequencyresponse at one or more locations in the room.

The network device can identify the audio processing algorithm invarious ways. In one case, the network device determines the audioprocessing algorithm based on the data indicating the detected audiocontent. In another case, the network device sends, to a computingdevice such as a server, data indicating the audio content detected atthe various locations in the room, and receives, from the computingdevice, the audio processing algorithm after the server (or anothercomputing device connected to the server) has determined the audioprocessing algorithm.

In some circumstances, performing a multi-location calibration processsuch as the one described above is not feasible or practical,particularly with respect to a portable playback device. For example,the portable playback device might not have access to a network devicethat is capable of or configured for performing such a calibrationprocess. In some examples, the portable playback device may not haveaccess to a network device at all. As such, the portable player mustrely on its own processor and stored database to perform calibration.Further, in practice, a portable playback device may be relocatedfrequently and encounter changing environments and acoustic settings, asnoted above.

As noted above, disclosed herein are example systems and methods to helpaddress these or other issues with respect to calibration of portableplayback devices. In particular, an example portable playback device inan environment may calibrate itself with respect to the environmentwithout using a network device to detect audio content at variouslocations in the room and without leveraging a remote database. To doso, the playback device leverages one or more built-in microphones, anda locally-stored database of calibration settings (e.g., audioprocessing algorithms) and/or room responses (e.g. reference roomresponses) that includes a representation or generalization ofpreviously generated data points for other playback devices using acalibration process, such as the process described above to determine amulti-location acoustic response.

The previously generated data points represent playback devicesperforming a multi-location calibration process similar to the processdescribed above. Namely, the previously generated database is populatedby performing the multi-location calibration process repeatedly invarious locations in a plurality of different rooms or other listeningenvironments (e.g., outdoors). To obtain a statistically sufficientcollection of different room responses and corresponding calibrationsettings, this process can be performed by a large number of users in alarger number of different rooms. In some examples, an initial databasemay be built by designated individual (e.g., product testers) andrefined over time by other users.

Since different playback devices have different output characteristics,these unique characteristics must be accounted for during the process ofbuilding the database. In some cases, the playback devices used inbuilding the database are the portable playback devices themselves.Alternatively, a model can be developed to translate the output of otherplayback devices to represent the output of the portable playbackdevices.

As noted above, a portable playback device may include its ownmicrophone(s). During the process of database building, the playbackdevice uses its microphone(s) to record the audio output of the portableplayback device concurrently with the recording by the microphones ofthe network device. This acoustic response determined by the playbackdevice may be referred to as a “localized acoustic response,” as theacoustic response is determined based on captured audio localized at theplayback device, rather than at multiple locations throughout the roomvia the microphone of the network device. Such concurrent recordingallows correlations to be made in the database between the localizedacoustic responses detected by the microphone(s) in the playback deviceand the calibration settings based on the multi-location acousticresponses detected by the microphone(s) in the network device.

In practice, local storage of the entire collection of different roomresponses and corresponding calibration settings may not be feasible onportable playback devices, owing to cost and/or size considerations. Assuch, in example implementations, the portable playback device mayinclude a generalization or representation of this larger remotedatabase. Alternatively, a playback device may include a subset of thelarger remote database.

In operation, after the database is built and stored locally on theplayback device, the portable playback devices again use their ownmicrophones to perform a self-calibration. In such a calibration, theportable playback device determines a localized acoustic response forthe room by outputting audio content in the room and using a microphoneof the playback device to detect reflections of the audio content withinthe room.

The playback device then queries the locally stored database to identifya stored localized acoustic response that is substantially similar to,or that is most similar to, the localized acoustic response determinedby the playback device. In particular, the playback device may use thecorrelated localized responses to calculate or identify storedcalibration settings corresponding to the instant determined localizedacoustic response. The playback device then applies to itself theidentified calibration settings that are associated in the database withthe instant localized acoustic response.

In some implementations, for example, a playback device stores anacoustic response database comprising a plurality of sets of storedaudio calibration settings, each set of stored audio calibrationsettings associated with a respective stored acoustic area response of aplurality of stored acoustic area responses. The playback device thendetermines that the playback device is to perform an equalizationcalibration of the playback device. In response to the determinationthat the playback device is to perform the equalization calibration, theplayback device initiates the equalization calibration. The equalizationcalibration comprises (i) outputting, via the speaker, audio content(ii) capturing, via the microphone, audio data representing reflectionsof the audio content within an area in which the playback device islocated (iii) based on at least the captured audio data, determining anacoustic response of the area in which the playback device is located,(iv) selecting a stored acoustic response from the acoustic responsedatabase that is most similar to the determined acoustic response of thearea in which the playback device is located, and (v) applying to theaudio content, a set of stored audio calibration settings associatedwith the selected stored acoustic area response.

While some examples described herein may refer to functions performed bygiven actors such as “users,” “listeners,” and/or other entities, itshould be understood that this is for purposes of explanation only. Theclaims should not be interpreted to require action by any such exampleactor unless explicitly required by the language of the claimsthemselves.

In the Figures, identical reference numbers identify generally similar,and/or identical, elements. To facilitate the discussion of anyparticular element, the most significant digit or digits of a referencenumber refers to the Figure in which that element is first introduced.For example, element 110 a is first introduced and discussed withreference to FIG. 1A. Many of the details, dimensions, angles and otherfeatures shown in the Figures are merely illustrative of particularembodiments of the disclosed technology. Accordingly, other embodimentscan have other details, dimensions, angles and features withoutdeparting from the spirit or scope of the disclosure. In addition, thoseof ordinary skill in the art will appreciate that further embodiments ofthe various disclosed technologies can be practiced without several ofthe details described below.

II. Suitable Operating Environment

FIG. 1A is a partial cutaway view of a media playback system 100distributed in an environment 101 (e.g., a house). The media playbacksystem 100 comprises one or more playback devices 110 (identifiedindividually as playback devices 110 a-n), one or more networkmicrophone devices (“NMDs”) 120 (identified individually as NMDs 120a-c), and one or more control devices 130 (identified individually ascontrol devices 130 a and 130 b).

As used herein the term “playback device” can generally refer to anetwork device configured to receive, process, and output data of amedia playback system. For example, a playback device can be a networkdevice that receives and processes audio content. In some embodiments, aplayback device includes one or more transducers or speakers powered byone or more amplifiers. In other embodiments, however, a playback deviceincludes one of (or neither of) the speaker and the amplifier. Forinstance, a playback device can comprise one or more amplifiersconfigured to drive one or more speakers external to the playback devicevia a corresponding wire or cable.

Moreover, as used herein the term NMD (i.e., a “network microphonedevice”) can generally refer to a network device that is configured foraudio detection. In some embodiments, an NMD is a stand-alone deviceconfigured primarily for audio detection. In other embodiments, an NMDis incorporated into a playback device (or vice versa).

The term “control device” can generally refer to a network deviceconfigured to perform functions relevant to facilitating user access,control, and/or configuration of the media playback system 100.

Each of the playback devices 110 is configured to receive audio signalsor data from one or more media sources (e.g., one or more remoteservers, one or more local devices) and play back the received audiosignals or data as sound. The one or more NMDs 120 are configured toreceive spoken word commands, and the one or more control devices 130are configured to receive user input. In response to the received spokenword commands and/or user input, the media playback system 100 can playback audio via one or more of the playback devices 110. In certainembodiments, the playback devices 110 are configured to commenceplayback of media content in response to a trigger. For instance, one ormore of the playback devices 110 can be configured to play back amorning playlist upon detection of an associated trigger condition(e.g., presence of a user in a kitchen, detection of a coffee machineoperation). In some embodiments, for example, the media playback system100 is configured to play back audio from a first playback device (e.g.,the playback device 100 a) in synchrony with a second playback device(e.g., the playback device 100 b). Interactions between the playbackdevices 110, NMDs 120, and/or control devices 130 of the media playbacksystem 100 configured in accordance with the various embodiments of thedisclosure are described in greater detail below with respect to FIGS.1B-1H.

In the illustrated embodiment of FIG. 1A, the environment 101 comprisesa household having several rooms, spaces, and/or playback zones,including (clockwise from upper left) a master bathroom 101 a, a masterbedroom 101 b, a second bedroom 101 c, a family room or den 101 d, anoffice 101 e, a living room 101 f, a dining room 101 g, a kitchen 101 h,and an outdoor patio 101 i. While certain embodiments and examples aredescribed below in the context of a home environment, the technologiesdescribed herein may be implemented in other types of environments. Insome embodiments, for example, the media playback system 100 can beimplemented in one or more commercial settings (e.g., a restaurant,mall, airport, hotel, a retail or other store), one or more vehicles(e.g., a sports utility vehicle, bus, car, a ship, a boat, an airplane),multiple environments (e.g., a combination of home and vehicleenvironments), and/or another suitable environment where multi-zoneaudio may be desirable.

The media playback system 100 can comprise one or more playback zones,some of which may correspond to the rooms in the environment 101. Themedia playback system 100 can be established with one or more playbackzones, after which additional zones may be added, or removed to form,for example, the configuration shown in FIG. 1A. Each zone may be givena name according to a different room or space such as the office 101 e,master bathroom 101 a, master bedroom 101 b, the second bedroom 101 c,kitchen 101 h, dining room 101 g, living room 101 f, and/or the balcony101 i. In some aspects, a single playback zone may include multiplerooms or spaces. In certain aspects, a single room or space may includemultiple playback zones.

In the illustrated embodiment of FIG. 1A, the master bathroom 101 a, thesecond bedroom 101 c, the office 101 e, the living room 101 f, thedining room 101 g, the kitchen 101 h, and the outdoor patio 101 i eachinclude one playback device 110, and the master bedroom 101 b and theden 101 d include a plurality of playback devices 110. In the masterbedroom 101 b, the playback devices 110 l and 110 m may be configured,for example, to play back audio content in synchrony as individual onesof playback devices 110, as a bonded playback zone, as a consolidatedplayback device, and/or any combination thereof. Similarly, in the den101 d, the playback devices 110 h-j can be configured, for instance, toplay back audio content in synchrony as individual ones of playbackdevices 110, as one or more bonded playback devices, and/or as one ormore consolidated playback devices. Additional details regarding bondedand consolidated playback devices are described below with respect toFIGS. 1B and 1E.

In some aspects, one or more of the playback zones in the environment101 may each be playing different audio content. For instance, a usermay be grilling on the patio 101 i and listening to hip hop music beingplayed by the playback device 110 c while another user is preparing foodin the kitchen 101 h and listening to classical music played by theplayback device 110 b. In another example, a playback zone may play thesame audio content in synchrony with another playback zone. Forinstance, the user may be in the office 101 e listening to the playbackdevice 110 f playing back the same hip hop music being played back byplayback device 110 c on the patio 101 i. In some aspects, the playbackdevices 110 c and 110 f play back the hip hop music in synchrony suchthat the user perceives that the audio content is being playedseamlessly (or at least substantially seamlessly) while moving betweendifferent playback zones. Additional details regarding audio playbacksynchronization among playback devices and/or zones can be found, forexample, in U.S. Pat. No. 8,234,395 entitled, “System and method forsynchronizing operations among a plurality of independently clockeddigital data processing devices,” which is incorporated herein byreference in its entirety.

a. Suitable Media Playback System

FIG. 1B is a schematic diagram of the media playback system 100 and acloud network 102. For ease of illustration, certain devices of themedia playback system 100 and the cloud network 102 are omitted fromFIG. 1B. One or more communication links 103 (referred to hereinafter as“the links 103”) communicatively couple the media playback system 100and the cloud network 102.

The links 103 can comprise, for example, one or more wired networks, oneor more wireless networks, one or more wide area networks (WAN), one ormore local area networks (LAN), one or more personal area networks(PAN), one or more telecommunication networks (e.g., one or more GlobalSystem for Mobiles (GSM) networks, Code Division Multiple Access (CDMA)networks, Long-Term Evolution (LTE) networks, 5G communication networknetworks, and/or other suitable data transmission protocol networks),etc. The cloud network 102 is configured to deliver media content (e.g.,audio content, video content, photographs, social media content) to themedia playback system 100 in response to a request transmitted from themedia playback system 100 via the links 103. In some embodiments, thecloud network 102 is further configured to receive data (e.g. voiceinput data) from the media playback system 100 and correspondinglytransmit commands and/or media content to the media playback system 100.

The cloud network 102 comprises computing devices 106 (identifiedseparately as a first computing device 106 a, a second computing device106 b, and a third computing device 106 c). The computing devices 106can comprise individual computers or servers, such as, for example, amedia streaming service server storing audio and/or other media content,a voice service server, a social media server, a media playback systemcontrol server, etc. In some embodiments, one or more of the computingdevices 106 comprise modules of a single computer or server. In certainembodiments, one or more of the computing devices 106 comprise one ormore modules, computers, and/or servers. Moreover, while the cloudnetwork 102 is described above in the context of a single cloud network,in some embodiments the cloud network 102 comprises a plurality of cloudnetworks comprising communicatively coupled computing devices.Furthermore, while the cloud network 102 is shown in FIG. 1B as havingthree of the computing devices 106, in some embodiments, the cloudnetwork 102 comprises fewer (or more than) three computing devices 106.

The media playback system 100 is configured to receive media contentfrom the networks 102 via the links 103. The received media content cancomprise, for example, a Uniform Resource Identifier (URI) and/or aUniform Resource Locator (URL). For instance, in some examples, themedia playback system 100 can stream, download, or otherwise obtain datafrom a URI or a URL corresponding to the received media content. Anetwork 104 communicatively couples the links 103 and at least a portionof the devices (e.g., one or more of the playback devices 110, NMDs 120,and/or control devices 130) of the media playback system 100. Thenetwork 104 can include, for example, a wireless network (e.g., a WiFinetwork, a Bluetooth, a Z-Wave network, a ZigBee, and/or other suitablewireless communication protocol network) and/or a wired network (e.g., anetwork comprising Ethernet, Universal Serial Bus (USB), and/or anothersuitable wired communication). As those of ordinary skill in the artwill appreciate, as used herein, “WiFi” can refer to several differentcommunication protocols including, for example, Institute of Electricaland Electronics Engineers (IEEE) 802.11a, 802.11b, 802.11g, 802.11n,802.11ac, 802.11ac, 802.11ad, 802.11af, 802.11ah, 802.11ai, 802.11aj,802.11aq, 802.11ax, 802.11ay, 802.15, etc. transmitted at 2.4 Gigahertz(GHz), 5 GHz, and/or another suitable frequency.

In some embodiments, the network 104 comprises a dedicated communicationnetwork that the media playback system 100 uses to transmit messagesbetween individual devices and/or to transmit media content to and frommedia content sources (e.g., one or more of the computing devices 106).In certain embodiments, the network 104 is configured to be accessibleonly to devices in the media playback system 100, thereby reducinginterference and competition with other household devices. In otherembodiments, however, the network 104 comprises an existing householdcommunication network (e.g., a household WiFi network). In someembodiments, the links 103 and the network 104 comprise one or more ofthe same networks. In some aspects, for example, the links 103 and thenetwork 104 comprise a telecommunication network (e.g., an LTE network,a 5G network). Moreover, in some embodiments, the media playback system100 is implemented without the network 104, and devices comprising themedia playback system 100 can communicate with each other, for example,via one or more direct connections, PANs, telecommunication networks,and/or other suitable communication links.

In some embodiments, audio content sources may be regularly added orremoved from the media playback system 100. In some embodiments, forexample, the media playback system 100 performs an indexing of mediaitems when one or more media content sources are updated, added to,and/or removed from the media playback system 100. The media playbacksystem 100 can scan identifiable media items in some or all foldersand/or directories accessible to the playback devices 110, and generateor update a media content database comprising metadata (e.g., title,artist, album, track length) and other associated information (e.g.,URIs, URLs) for each identifiable media item found. In some embodiments,for example, the media content database is stored on one or more of theplayback devices 110, network microphone devices 120, and/or controldevices 130.

In the illustrated embodiment of FIG. 1B, the playback devices 110 l and110 m comprise a group 107 a. The playback devices 110 l and 110 m canbe positioned in different rooms in a household and be grouped togetherin the group 107 a on a temporary or permanent basis based on user inputreceived at the control device 130 a and/or another control device 130in the media playback system 100. When arranged in the group 107 a, theplayback devices 110 l and 110 m can be configured to play back the sameor similar audio content in synchrony from one or more audio contentsources. In certain embodiments, for example, the group 107 a comprisesa bonded zone in which the playback devices 110 l and 110 m compriseleft audio and right audio channels, respectively, of multi-channelaudio content, thereby producing or enhancing a stereo effect of theaudio content. In some embodiments, the group 107 a includes additionalplayback devices 110. In other embodiments, however, the media playbacksystem 100 omits the group 107 a and/or other grouped arrangements ofthe playback devices 110.

The media playback system 100 includes the NMDs 120 a and 120 d, eachcomprising one or more microphones configured to receive voiceutterances from a user. In the illustrated embodiment of FIG. 1B, theNMD 120 a is a standalone device and the NMD 120 d is integrated intothe playback device 110 n. The NMD 120 a, for example, is configured toreceive voice input 121 from a user 123. In some embodiments, the NMD120 a transmits data associated with the received voice input 121 to avoice assistant service (VAS) configured to (i) process the receivedvoice input data and (ii) transmit a corresponding command to the mediaplayback system 100. In some aspects, for example, the computing device106 c comprises one or more modules and/or servers of a VAS (e.g., a VASoperated by one or more of SONOS®, AMAZON®, GOOGLE® APPLE®, MICROSOFT®).The computing device 106 c can receive the voice input data from the NMD120 a via the network 104 and the links 103. In response to receivingthe voice input data, the computing device 106 c processes the voiceinput data (i.e., “Play Hey Jude by The Beatles”), and determines thatthe processed voice input includes a command to play a song (e.g., “HeyJude”). The computing device 106 c accordingly transmits commands to themedia playback system 100 to play back “Hey Jude” by the Beatles from asuitable media service (e.g., via one or more of the computing devices106) on one or more of the playback devices 110.

b. Suitable Playback Devices

FIG. 1C is a block diagram of the playback device 110 a comprising aninput/output 111. The input/output 111 can include an analog I/O 111 a(e.g., one or more wires, cables, and/or other suitable communicationlinks configured to carry analog signals) and/or a digital I/O 111 b(e.g., one or more wires, cables, or other suitable communication linksconfigured to carry digital signals). In some embodiments, the analogI/O 111 a is an audio line-in input connection comprising, for example,an auto-detecting 3.5 mm audio line-in connection. In some embodiments,the digital I/O 111 b comprises a Sony/Philips Digital Interface Format(S/PDIF) communication interface and/or cable and/or a Toshiba Link(TOSLINK) cable. In some embodiments, the digital I/O 111 b comprises anHigh-Definition Multimedia Interface (HDMI) interface and/or cable. Insome embodiments, the digital I/O 111 b includes one or more wirelesscommunication links comprising, for example, a radio frequency (RF),infrared, WiFi, Bluetooth, or another suitable communication protocol.In certain embodiments, the analog I/O 111 a and the digital 111 bcomprise interfaces (e.g., ports, plugs, jacks) configured to receiveconnectors of cables transmitting analog and digital signals,respectively, without necessarily including cables.

The playback device 110 a, for example, can receive media content (e.g.,audio content comprising music and/or other sounds) from a local audiosource 105 via the input/output 111 (e.g., a cable, a wire, a PAN, aBluetooth connection, an ad hoc wired or wireless communication network,and/or another suitable communication link). The local audio source 105can comprise, for example, a mobile device (e.g., a smartphone, atablet, a laptop computer) or another suitable audio component (e.g., atelevision, a desktop computer, an amplifier, a phonograph, a Blu-rayplayer, a memory storing digital media files). In some aspects, thelocal audio source 105 includes local music libraries on a smartphone, acomputer, a networked-attached storage (NAS), and/or another suitabledevice configured to store media files. In certain embodiments, one ormore of the playback devices 110, NMDs 120, and/or control devices 130comprise the local audio source 105. In other embodiments, however, themedia playback system omits the local audio source 105 altogether. Insome embodiments, the playback device 110 a does not include aninput/output 111 and receives all audio content via the network 104.

The playback device 110 a further comprises electronics 112, a userinterface 113 (e.g., one or more buttons, knobs, dials, touch-sensitivesurfaces, displays, touchscreens), and one or more transducers 114(referred to hereinafter as “the transducers 114”). The electronics 112is configured to receive audio from an audio source (e.g., the localaudio source 105) via the input/output 111, one or more of the computingdevices 106 a-c via the network 104 (FIG. 1B)), amplify the receivedaudio, and output the amplified audio for playback via one or more ofthe transducers 114. In some embodiments, the playback device 110 aoptionally includes one or more microphones 115 (e.g., a singlemicrophone, a plurality of microphones, a microphone array) (hereinafterreferred to as “the microphones 115”). In certain embodiments, forexample, the playback device 110 a having one or more of the optionalmicrophones 115 can operate as an NMD configured to receive voice inputfrom a user and correspondingly perform one or more operations based onthe received voice input.

In the illustrated embodiment of FIG. 1C, the electronics 112 compriseone or more processors 112 a (referred to hereinafter as “the processors112 a”), memory 112 b, software components 112 c, a network interface112 d, one or more audio processing components 112 g (referred tohereinafter as “the audio components 112 g”), one or more audioamplifiers 112 h (referred to hereinafter as “the amplifiers 112 h”),and power 112 i (e.g., one or more power supplies, power cables, powerreceptacles, batteries, induction coils, Power-over Ethernet (POE)interfaces, and/or other suitable sources of electric power). In someembodiments, the electronics 112 optionally include one or more othercomponents 112 j (e.g., one or more sensors, video displays,touchscreens, battery charging bases).

The processors 112 a can comprise clock-driven computing component(s)configured to process data, and the memory 112 b can comprise acomputer-readable medium (e.g., a tangible, non-transitorycomputer-readable medium, data storage loaded with one or more of thesoftware components 112 c) configured to store instructions forperforming various operations and/or functions. The processors 112 a areconfigured to execute the instructions stored on the memory 112 b toperform one or more of the operations. The operations can include, forexample, causing the playback device 110 a to retrieve audio data froman audio source (e.g., one or more of the computing devices 106 a-c(FIG. 1B)), and/or another one of the playback devices 110. In someembodiments, the operations further include causing the playback device110 a to send audio data to another one of the playback devices 110 aand/or another device (e.g., one of the NMDs 120). Certain embodimentsinclude operations causing the playback device 110 a to pair withanother of the one or more playback devices 110 to enable amulti-channel audio environment (e.g., a stereo pair, a bonded zone).

The processors 112 a can be further configured to perform operationscausing the playback device 110 a to synchronize playback of audiocontent with another of the one or more playback devices 110. As thoseof ordinary skill in the art will appreciate, during synchronousplayback of audio content on a plurality of playback devices, a listenerwill preferably be unable to perceive time-delay differences betweenplayback of the audio content by the playback device 110 a and the otherone or more other playback devices 110. Additional details regardingaudio playback synchronization among playback devices can be found, forexample, in U.S. Pat. No. 8,234,395, which was incorporated by referenceabove.

In some embodiments, the memory 112 b is further configured to storedata associated with the playback device 110 a, such as one or morezones and/or zone groups of which the playback device 110 a is a member,audio sources accessible to the playback device 110 a, and/or a playbackqueue that the playback device 110 a (and/or another of the one or moreplayback devices) can be associated with. The stored data can compriseone or more state variables that are periodically updated and used todescribe a state of the playback device 110 a. The memory 112 b can alsoinclude data associated with a state of one or more of the other devices(e.g., the playback devices 110, NMDs 120, control devices 130) of themedia playback system 100. In some aspects, for example, the state datais shared during predetermined intervals of time (e.g., every 5 seconds,every 10 seconds, every 60 seconds) among at least a portion of thedevices of the media playback system 100, so that one or more of thedevices have the most recent data associated with the media playbacksystem 100.

The network interface 112 d is configured to facilitate a transmissionof data between the playback device 110 a and one or more other deviceson a data network such as, for example, the links 103 and/or the network104 (FIG. 1B). The network interface 112 d is configured to transmit andreceive data corresponding to media content (e.g., audio content, videocontent, text, photographs) and other signals (e.g., non-transitorysignals) comprising digital packet data including an Internet Protocol(IP)-based source address and/or an IP-based destination address. Thenetwork interface 112 d can parse the digital packet data such that theelectronics 112 properly receives and processes the data destined forthe playback device 110 a.

In the illustrated embodiment of FIG. 1C, the network interface 112 dcomprises one or more wireless interfaces 112 e (referred to hereinafteras “the wireless interface 112 e”). The wireless interface 112 e (e.g.,a suitable interface comprising one or more antennae) can be configuredto wirelessly communicate with one or more other devices (e.g., one ormore of the other playback devices 110, NMDs 120, and/or control devices130) that are communicatively coupled to the network 104 (FIG. 1B) inaccordance with a suitable wireless communication protocol (e.g., WiFi,Bluetooth, LTE). In some embodiments, the network interface 112 doptionally includes a wired interface 112 f (e.g., an interface orreceptacle configured to receive a network cable such as an Ethernet, aUSB-A, USB-C, and/or Thunderbolt cable) configured to communicate over awired connection with other devices in accordance with a suitable wiredcommunication protocol. In certain embodiments, the network interface112 d includes the wired interface 112 f and excludes the wirelessinterface 112 e. In some embodiments, the electronics 112 excludes thenetwork interface 112 d altogether and transmits and receives mediacontent and/or other data via another communication path (e.g., theinput/output 111).

The audio components 112 g are configured to process and/or filter datacomprising media content received by the electronics 112 (e.g., via theinput/output 111 and/or the network interface 112 d) to produce outputaudio signals. In some embodiments, the audio processing components 112g comprise, for example, one or more digital-to-analog converters (DAC),audio preprocessing components, audio enhancement components, a digitalsignal processors (DSPs), and/or other suitable audio processingcomponents, modules, circuits, etc. In certain embodiments, one or moreof the audio processing components 112 g can comprise one or moresubcomponents of the processors 112 a. In some embodiments, theelectronics 112 omits the audio processing components 112 g. In someaspects, for example, the processors 112 a execute instructions storedon the memory 112 b to perform audio processing operations to producethe output audio signals.

The amplifiers 112 h are configured to receive and amplify the audiooutput signals produced by the audio processing components 112 g and/orthe processors 112 a. The amplifiers 112 h can comprise electronicdevices and/or components configured to amplify audio signals to levelssufficient for driving one or more of the transducers 114. In someembodiments, for example, the amplifiers 112 h include one or moreswitching or class-D power amplifiers. In other embodiments, however,the amplifiers include one or more other types of power amplifiers(e.g., linear gain power amplifiers, class-A amplifiers, class-Bamplifiers, class-AB amplifiers, class-C amplifiers, class-D amplifiers,class-E amplifiers, class-F amplifiers, class-G and/or class Hamplifiers, and/or another suitable type of power amplifier). In certainembodiments, the amplifiers 112 h comprise a suitable combination of twoor more of the foregoing types of power amplifiers. Moreover, in someembodiments, individual ones of the amplifiers 112 h correspond toindividual ones of the transducers 114. In other embodiments, however,the electronics 112 includes a single one of the amplifiers 112 hconfigured to output amplified audio signals to a plurality of thetransducers 114. In some other embodiments, the electronics 112 omitsthe amplifiers 112 h.

The transducers 114 (e.g., one or more speakers and/or speaker drivers)receive the amplified audio signals from the amplifier 112 h and renderor output the amplified audio signals as sound (e.g., audible soundwaves having a frequency between about 20 Hertz (Hz) and 20 kilohertz(kHz)). In some embodiments, the transducers 114 can comprise a singletransducer. In other embodiments, however, the transducers 114 comprisea plurality of audio transducers. In some embodiments, the transducers114 comprise more than one type of transducer. For example, thetransducers 114 can include one or more low frequency transducers (e.g.,subwoofers, woofers), mid-range frequency transducers (e.g., mid-rangetransducers, mid-woofers), and one or more high frequency transducers(e.g., one or more tweeters). As used herein, “low frequency” cangenerally refer to audible frequencies below about 500 Hz, “mid-rangefrequency” can generally refer to audible frequencies between about 500Hz and about 2 kHz, and “high frequency” can generally refer to audiblefrequencies above 2 kHz. In certain embodiments, however, one or more ofthe transducers 114 comprise transducers that do not adhere to theforegoing frequency ranges. For example, one of the transducers 114 maycomprise a mid-woofer transducer configured to output sound atfrequencies between about 200 Hz and about 5 kHz.

By way of illustration, SONOS, Inc. presently offers (or has offered)for sale certain playback devices including, for example, a “SONOS ONE,”“PLAY:1,” “PLAY:3,” “PLAY:5,” “PLAYBAR,” “PLAYBASE,” “CONNECT:AMP,”“CONNECT,” and “SUB.” Other suitable playback devices may additionallyor alternatively be used to implement the playback devices of exampleembodiments disclosed herein. Additionally, one of ordinary skilled inthe art will appreciate that a playback device is not limited to theexamples described herein or to SONOS product offerings. In someembodiments, for example, one or more playback devices 110 compriseswired or wireless headphones (e.g., over-the-ear headphones, on-earheadphones, in-ear earphones). In other embodiments, one or more of theplayback devices 110 comprise a docking station and/or an interfaceconfigured to interact with a docking station for personal mobile mediaplayback devices. In certain embodiments, a playback device may beintegral to another device or component such as a television, a lightingfixture, or some other device for indoor or outdoor use. In someembodiments, a playback device omits a user interface and/or one or moretransducers. For example, FIG. 1D is a block diagram of a playbackdevice 110 p comprising the input/output 111 and electronics 112 withoutthe user interface 113 or transducers 114.

FIG. 1E is a block diagram of a bonded playback device 110 q comprisingthe playback device 110 a (FIG. 1C) sonically bonded with the playbackdevice 110 i (e.g., a subwoofer) (FIG. 1A). In the illustratedembodiment, the playback devices 110 a and 110 i are separate ones ofthe playback devices 110 housed in separate enclosures. In someembodiments, however, the bonded playback device 110 q comprises asingle enclosure housing both the playback devices 110 a and 110 i. Thebonded playback device 110 q can be configured to process and reproducesound differently than an unbonded playback device (e.g., the playbackdevice 110 a of FIG. 1C) and/or paired or bonded playback devices (e.g.,the playback devices 110 l and 110 m of FIG. 1B). In some embodiments,for example, the playback device 110 a is full-range playback deviceconfigured to render low frequency, mid-range frequency, and highfrequency audio content, and the playback device 110 i is a subwooferconfigured to render low frequency audio content. In some aspects, theplayback device 110 a, when bonded with the first playback device, isconfigured to render only the mid-range and high frequency components ofa particular audio content, while the playback device 110 i renders thelow frequency component of the particular audio content. In someembodiments, the bonded playback device 110 q includes additionalplayback devices and/or another bonded playback device.

c. Suitable Network Microphone Devices (NMDs)

FIG. 1F is a block diagram of the NMD 120 a (FIGS. 1A and 1B). The NMD120 a includes one or more voice processing components 124 (hereinafter“the voice components 124”) and several components described withrespect to the playback device 110 a (FIG. 1C) including the processors112 a, the memory 112 b, and the microphones 115. The NMD 120 aoptionally comprises other components also included in the playbackdevice 110 a (FIG. 1C), such as the user interface 113 and/or thetransducers 114. In some embodiments, the NMD 120 a is configured as amedia playback device (e.g., one or more of the playback devices 110),and further includes, for example, one or more of the audio components112 g (FIG. 1C), the amplifiers 114, and/or other playback devicecomponents. In certain embodiments, the NMD 120 a comprises an Internetof Things (IoT) device such as, for example, a thermostat, alarm panel,fire and/or smoke detector, etc. In some embodiments, the NMD 120 acomprises the microphones 115, the voice processing 124, and only aportion of the components of the electronics 112 described above withrespect to FIG. 1B. In some aspects, for example, the NMD 120 a includesthe processor 112 a and the memory 112 b (FIG. 1B), while omitting oneor more other components of the electronics 112. In some embodiments,the NMD 120 a includes additional components (e.g., one or more sensors,cameras, thermometers, barometers, hygrometers).

In some embodiments, an NMD can be integrated into a playback device.FIG. 1G is a block diagram of a playback device 110 r comprising an NMD120 d. The playback device 110 r can comprise many or all of thecomponents of the playback device 110 a and further include themicrophones 115 and voice processing 124 (FIG. 1F). The playback device110 r optionally includes an integrated control device 130 c. Thecontrol device 130 c can comprise, for example, a user interface (e.g.,the user interface 113 of FIG. 1B) configured to receive user input(e.g., touch input, voice input) without a separate control device. Inother embodiments, however, the playback device 110 r receives commandsfrom another control device (e.g., the control device 130 a of FIG. 1B).

Referring again to FIG. 1F, the microphones 115 are configured toacquire, capture, and/or receive sound from an environment (e.g., theenvironment 101 of FIG. 1A) and/or a room in which the NMD 120 a ispositioned. The received sound can include, for example, vocalutterances, audio played back by the NMD 120 a and/or another playbackdevice, background voices, ambient sounds, etc. The microphones 115convert the received sound into electrical signals to produce microphonedata. The voice processing 124 receives and analyzes the microphone datato determine whether a voice input is present in the microphone data.The voice input can comprise, for example, an activation word followedby an utterance including a user request. As those of ordinary skill inthe art will appreciate, an activation word is a word or other audio cuethat signifying a user voice input. For instance, in querying theAMAZON® VAS, a user might speak the activation word “Alexa.” Otherexamples include “Ok, Google” for invoking the GOOGLE® VAS and “Hey,Siri” for invoking the APPLE® VAS.

After detecting the activation word, voice processing 124 monitors themicrophone data for an accompanying user request in the voice input. Theuser request may include, for example, a command to control athird-party device, such as a thermostat (e.g., NEST® thermostat), anillumination device (e.g., a PHILIPS HUE® lighting device), or a mediaplayback device (e.g., a Sonos® playback device). For example, a usermight speak the activation word “Alexa” followed by the utterance “setthe thermostat to 68 degrees” to set a temperature in a home (e.g., theenvironment 101 of FIG. 1A). The user might speak the same activationword followed by the utterance “turn on the living room” to turn onillumination devices in a living room area of the home. The user maysimilarly speak an activation word followed by a request to play aparticular song, an album, or a playlist of music on a playback devicein the home.

d. Suitable Control Devices

FIG. 1H is a partially schematic diagram of the control device 130 a(FIGS. 1A and 1B). As used herein, the term “control device” can be usedinterchangeably with “controller” or “control system.” Among otherfeatures, the control device 130 a is configured to receive user inputrelated to the media playback system 100 and, in response, cause one ormore devices in the media playback system 100 to perform an action(s) oroperation(s) corresponding to the user input. In the illustratedembodiment, the control device 130 a comprises a smartphone (e.g., aniPhone™, an Android phone) on which media playback system controllerapplication software is installed. In some embodiments, the controldevice 130 a comprises, for example, a tablet (e.g., an iPad™), acomputer (e.g., a laptop computer, a desktop computer), and/or anothersuitable device (e.g., a television, an automobile audio head unit, anIoT device). In certain embodiments, the control device 130 a comprisesa dedicated controller for the media playback system 100. In otherembodiments, as described above with respect to FIG. 1G, the controldevice 130 a is integrated into another device in the media playbacksystem 100 (e.g., one more of the playback devices 110, NMDs 120, and/orother suitable devices configured to communicate over a network).

The control device 130 a includes electronics 132, a user interface 133,one or more speakers 134, and one or more microphones 135. Theelectronics 132 comprise one or more processors 132 a (referred tohereinafter as “the processors 132 a”), a memory 132 b, softwarecomponents 132 c, and a network interface 132 d. The processor 132 a canbe configured to perform functions relevant to facilitating user access,control, and configuration of the media playback system 100. The memory132 b can comprise data storage that can be loaded with one or more ofthe software components executable by the processor 132 a to performthose functions. The software components 132 c can comprise applicationsand/or other executable software configured to facilitate control of themedia playback system 100. The memory 112 b can be configured to store,for example, the software components 132 c, media playback systemcontroller application software, and/or other data associated with themedia playback system 100 and the user.

The network interface 132 d is configured to facilitate networkcommunications between the control device 130 a and one or more otherdevices in the media playback system 100, and/or one or more remotedevices. In some embodiments, the network interface 132 is configured tooperate according to one or more suitable communication industrystandards (e.g., infrared, radio, wired standards including IEEE 802.3,wireless standards including IEEE 802.11a, 802.11b, 802.11g, 802.11n,802.11ac, 802.15, 4G, LTE). The network interface 132 d can beconfigured, for example, to transmit data to and/or receive data fromthe playback devices 110, the NMDs 120, other ones of the controldevices 130, one of the computing devices 106 of FIG. 1B, devicescomprising one or more other media playback systems, etc. Thetransmitted and/or received data can include, for example, playbackdevice control commands, state variables, playback zone and/or zonegroup configurations. For instance, based on user input received at theuser interface 133, the network interface 132 d can transmit a playbackdevice control command (e.g., volume control, audio playback control,audio content selection) from the control device 130 a to one or more ofthe playback devices 100. The network interface 132 d can also transmitand/or receive configuration changes such as, for example,adding/removing one or more playback devices 100 to/from a zone,adding/removing one or more zones to/from a zone group, forming a bondedor consolidated player, separating one or more playback devices from abonded or consolidated player, among others.

The user interface 133 is configured to receive user input and canfacilitate ‘control of the media playback system 100. The user interface133 includes media content art 133a (e.g., album art, lyrics, videos), aplayback status indicator 133 b (e.g., an elapsed and/or remaining timeindicator), media content information region 133 c, a playback controlregion 133 d, and a zone indicator 133 e. The media content informationregion 133 c can include a display of relevant information (e.g., title,artist, album, genre, release year) about media content currentlyplaying and/or media content in a queue or playlist. The playbackcontrol region 133 d can include selectable (e.g., via touch inputand/or via a cursor or another suitable selector) icons to cause one ormore playback devices in a selected playback zone or zone group toperform playback actions such as, for example, play or pause, fastforward, rewind, skip to next, skip to previous, enter/exit shufflemode, enter/exit repeat mode, enter/exit cross fade mode, etc. Theplayback control region 133 d may also include selectable icons tomodify equalization settings, playback volume, and/or other suitableplayback actions. In the illustrated embodiment, the user interface 133comprises a display presented on a touch screen interface of asmartphone (e.g., an iPhone™, an Android phone). In some embodiments,however, user interfaces of varying formats, styles, and interactivesequences may alternatively be implemented on one or more networkdevices to provide comparable control access to a media playback system.

The one or more speakers 134 (e.g., one or more transducers) can beconfigured to output sound to the user of the control device 130 a. Insome embodiments, the one or more speakers comprise individualtransducers configured to correspondingly output low frequencies,mid-range frequencies, and/or high frequencies. In some aspects, forexample, the control device 130 a is configured as a playback device(e.g., one of the playback devices 110). Similarly, in some embodimentsthe control device 130 a is configured as an NMD (e.g., one of the NMDs120), receiving voice commands and other sounds via the one or moremicrophones 135.

The one or more microphones 135 can comprise, for example, one or morecondenser microphones, electret condenser microphones, dynamicmicrophones, and/or other suitable types of microphones or transducers.In some embodiments, two or more of the microphones 135 are arranged tocapture location information of an audio source (e.g., voice, audiblesound) and/or configured to facilitate filtering of background noise.Moreover, in certain embodiments, the control device 130 a is configuredto operate as playback device and an NMD. In other embodiments, however,the control device 130 a omits the one or more speakers 134 and/or theone or more microphones 135. For instance, the control device 130 a maycomprise a device (e.g., a thermostat, an IoT device, a network device)comprising a portion of the electronics 132 and the user interface 133(e.g., a touch screen) without any speakers or microphones.

III. Example Systems and Methods for Calibrating a Playback Device

As discussed above, in some examples, a playback device is configured tocalibrate itself to offset (or otherwise account for) an acousticresponse of a room in which the playback device is located. The playbackdevice performs this self-calibration by leveraging a database that ispopulated with calibration settings and/or reference room responses thatwere determined for a number of other playback devices. In someembodiments, the calibration settings and/or reference room responsesstored in the database are determined based on multi-location acousticresponses for the rooms of the other playback devices recordedpreviously on mobile devices, such as a smart phone or tablet.

FIG. 2A depicts an example environment for using a multi-locationacoustic response of a room to determine calibration settings for aplayback device. As shown in FIG. 2A, a playback device 210 a and anetwork device 230 are located in a room 201 a. The playback device 210a may be similar to any of the playback devices 110 depicted in FIGS.1A-1E and 1G, and the network device 230 may be similar to any of theNMDs 120 or controllers 130 depicted in FIGS. 1A-1B and 1F-1H. One orboth of the playback device 210 a and the network device 230 are incommunication, either directly or indirectly, with a computing device206. The computing device 206 may be similar to any of the computingdevices 106 depicted in FIG. 1B. For instance, the computing device 206may be a server located remotely from the room 201 a and connected tothe playback device 210 a and/or the network device 230 over a wired orwireless communication network.

In practice, the playback device 210 a outputs audio content via one ormore transducers (e.g., one or more speakers and/or speaker drivers) ofthe playback device 210 a. In one example, the audio content is outputusing a test signal or measurement signal representative of audiocontent that may be played by the playback device 210 a during regularuse by a user. Accordingly, the audio content may include content withfrequencies substantially covering a renderable frequency range of theplayback device 210 a or a frequency range audible to a human. In onecase, the audio content is output using an audio signal designedspecifically for use when calibrating playback devices such as theplayback device 210 a being calibrated in examples discussed herein. Inanother case, the audio content is an audio track that is a favorite ofa user of the playback device 210 a, or a commonly played audio track bythe playback device 210 a. Other examples are also possible.

While the playback device 210 a outputs the audio content, the networkdevice 230 moves to various locations within the room 201 a. Forinstance, the network device 230 may move between a first physicallocation and a second physical location within the room 201 a. As shownin FIG. 2A, the first physical location may be the point (a), and thesecond physical location may be the point (b). While moving from thefirst physical location (a) to the second physical location (b), thenetwork device 230 may traverse locations within the room 201 a whereone or more listeners may experience audio playback during regular useof the playback device 210 a. For instance, as shown, the room 201 aincludes a kitchen area and a dining area, and a path 208 between thefirst physical location (a) and the second physical location (b) coverslocations within the kitchen area and dining area where one or morelisteners may experience audio playback during regular use of theplayback device 210 a.

In some examples, movement of the network device 230 between the firstphysical location (a) and the second physical location (b) may beperformed by a user. In one case, a graphical display of the networkdevice 230 may provide an indication to move the network device 230within the room 201 a. For instance, the graphical display may displaytext, such as “While audio is playing, please move the network devicethrough locations within the playback zone where you or others may enjoymusic.” Other examples are also possible.

The network device 230 determines a multi-location acoustic response ofthe room 201 a. To facilitate this, while the network device 230 ismoving between physical locations within the room 201 a, the networkdevice 230 captures audio data representing reflections of the audiocontent output by the playback device 210 a in the room 201 a. Forinstance, the network device 230 may be a mobile device with a built-inmicrophone (e.g., microphone(s) 115 of network microphone device 120 a),and the network device 230 may use the built-in microphone to capturethe audio data representing reflections of the audio content at multiplelocations within the room 201 a.

The multi-location acoustic response is an acoustic response of the room201 a based on the detected audio data representing reflections of theaudio content at multiple locations in the room 201 a, such as at thefirst physical location (a) and the second physical location (b). Themulti-location acoustic response may be represented as a spectralresponse, spatial response, or temporal response, among others. Thespectral response may be an indication of how volume of audio soundcaptured by the microphone varies with frequency within the room 201 a.

A power spectral density is an example representation of the spectralresponse. The spatial response may indicate how the volume of the audiosound captured by the microphone varies with direction and/or spatialposition in the room 201 a. The temporal response may be an indicationof how audio sound played by the playback device 210 a, e.g., an impulsesound or tone played by the playback device 210 a, changes within theroom 201 a. The change may be characterized as a reverberation, delay,decay, or phase change of the audio sound.

The responses may be represented in various forms. For instance, thespatial response and temporal responses may be represented as roomaverages. Additionally, or alternatively, the multi-location acousticresponse may be represented as a set of impulse responses or bi-quadfilter coefficients representative of the acoustic response, amongothers. Values of the multi-location acoustic response may berepresented in vector or matrix form.

Audio played by the playback device 210 a is adjusted based on themulti-location acoustic response of the room 201 a so as to offset orotherwise account for acoustics of the room 201 a indicated by themulti-location acoustic response. In particular, the multi-locationacoustic response is used to identify calibration settings, which mayinclude determining an audio processing algorithm. U.S. Pat. No.9,706,323, incorporated by reference above, discloses various audioprocessing algorithms, which are contemplated herein.

In some examples, determining the audio processing algorithm involvesdetermining an audio processing algorithm that, when applied to theplayback device 210 a, causes audio content output by the playbackdevice 210 a in the room 201 a to have a target frequency response. Forinstance, determining the audio processing algorithm may involvedetermining frequency responses at the multiple locations traversed bythe network device while moving within the room 201 a and determining anaudio processing algorithm that adjusts the frequency responses at thoselocations to more closely reflect target frequency responses. In oneexample, if one or more of the determined frequency responses has aparticular audio frequency that is more attenuated than otherfrequencies, then determining the audio processing algorithm may involvedetermining an audio processing algorithm that increases amplificationat the particular audio frequency. Other examples are possible as well.

In some examples, the audio processing algorithm takes the form of afilter or equalization. The filter or equalization may be applied by theplayback device 210 a (e.g., via audio processing components 112 g).Alternatively, the filter or equalization may be applied by anotherplayback device, the computing device 206, and/or the network device230, which then provides the processed audio content to the playbackdevice 210 a for output. The filter or equalization may be applied toaudio content played by the playback device 210 a until such time thatthe filter or equalization is changed or is no longer valid for the room201 a.

The audio processing algorithm may be stored in a database of thecomputing device 206 or may be calculated dynamically. For instance, insome examples, the network device 230 sends to the computing device 206the detected audio data representing reflections of the audio content atmultiple locations in the room 201 a, and receives, from the computingdevice 206, the audio processing algorithm after the computing device206 has determined the audio processing algorithm. In other examples,the network device 230 determines the audio processing algorithm basedon the detected audio data representing reflections of the audio contentat multiple locations in the room 201 a.

Further, while the network device 230 captures audio data at multiplelocations in the room 201 a for determining the multi-location acousticresponse of the room 201 a, the playback device 210 a concurrentlycaptures audio data at a stationary location for determining a localizedacoustic response of the room 201 a. To facilitate this, the playbackdevice 210 a may have one or more microphones, which may be fixed inlocation. For example, the one or more microphones may be co-located inor on the playback device 210 a (e.g., mounted in a housing of theplayback device) or be co-located in or on an NMD proximate to theplayback device 210 a. Additionally, the one or more microphones may beoriented in one or more directions. The one or more microphones detectaudio data representing reflections of the audio content output by theplayback device 210 a in the room 201 a, and this detected audio data isused to determine the localized acoustic response of the room 201 a.

The localized acoustic response is an acoustic response of the room 201a based on the detected audio data representing reflections of the audiocontent at a stationary location in the room. The stationary locationmay be at the one or more microphones located on or proximate to theplayback device 210 a, but could also be at the microphone of an NMD ora controller device proximate to the playback device 210 a.

The localized acoustic response may be represented as a spectralresponse, spatial response, or temporal response, among others. Thespectral response may be an indication of how volume of audio soundcaptured by the microphone varies with frequency within the room 201 a.A power spectral density is an example representation of the spectralresponse. The spatial response may indicate how the volume of the audiosound captured by the microphone varies with direction and/or spatialposition in the room 201 a. The temporal response may be an indicationof how audio sound played by the playback device 210 a, e.g., an impulsesound or tone played by the playback device 210 a, changes within theroom 201 a. The change may be characterized as a reverberation, delay,decay, or phase change of the audio sound. The spatial response andtemporal response may be represented as averages in some instances.Additionally, or alternatively, the localized acoustic response may berepresented as a set of impulse responses or bi-quad filter coefficientsrepresentative of the acoustic response, among others. Values of thelocalized acoustic response may be represented in vector or matrix form.

Once the multi-location calibration settings for the playback device 210a and the localized acoustic response of the room 201 a are determined,this data is then provided to a computing device, such as computingdevice 206, for storage in a database. For instance, the network device230 may send the determined multi-location calibration settings to thecomputing device 206, and the playback device 210 a may send thelocalized acoustic response of the room 201 a to the computing device206. In other examples, the network device 230 or the playback device210 a sends both the determined multi-location calibration settings andthe localized acoustic response of the room 201 a to the computingdevice 206. Other examples are possible as well.

FIG. 2B depicts a representation of an example database 250 a forstoring both the determined multi-location calibration settings for theplayback device 210 a and the localized acoustic response of the room201 a.

The database 250 a may be stored on a computing device, such ascomputing device 206, located remotely from the playback device 210 aand/or from the network device 230, or the database 250 a may be storedon the playback device 210 a and/or the network device 230. The database250 a includes a number of records, and each record includes datarepresenting multi-location calibrations settings (identified as“settings 1” through “settings 5”) for various playback devices as wellas localized room responses (identified as “response 1A” through“response 5A”), and multi-location acoustic responses (identified as“response 1B through “response 5B), associated with the multi-locationcalibration settings. For the purpose of illustration, the database 250a only depicts five records (numbered 1-5), but in practice shouldinclude many more than five records to improve the accuracy of thecalibration processes described in further detail below.

When the computing device 206 receives data representing themulti-location calibration settings for the playback device 210 a anddata representing the localized acoustic response of the room 201 a, thecomputing device 206 stores the received data in a record of thedatabase 250 a. As an example, the computing device 206 stores thereceived data in record #1 of the database 250 a, such that “response 1”includes data representing the localized acoustic response of the room201 a, and “settings 1” includes data representing the multi-locationcalibration settings for the playback device 210 a. In some cases, thedatabase 250 a also includes data representing respective multi-locationacoustic responses associated with the localized acoustic responses andthe corresponding multi-location calibration settings. For instance, ifrecord #1 of database 250 a corresponds to playback device 210 a, then“response 1” may include data representing both the localized acousticresponse of the room 201 a and the multi-location acoustic response ofthe room 201 a.

As indicated above, each record of the database 250 a corresponds to ahistorical playback device calibration process in which a particularplayback device was calibrated by determining calibration settings basedon a multi-location acoustic response, as described above in connectionwith FIG. 2A. The calibration processes are “historical” in the sensethat they relate to multi-location calibration settings and localizedacoustic responses determined for rooms with various types of acousticcharacteristics previously determined and stored in the database 250 a.As additional iterations of the calibration process are performed, theresulting multi-location calibration settings and localized acousticresponses may be added to the database 250 a.

As shown in the database 250 a, the localized room response and thecalibration settings based on the multi-location calibration arecorrelated. In operation, portable playback devices may leverage thehistorical multi-location calibration settings and localized acousticresponses stored in the database 250 a in order to self-calibrate toaccount for the acoustic responses of the rooms in which they arelocated. During calibration of a portable playback device, the portableplayback device uses its internal microphone(s) to record its own audiooutput and determines an instant localized response. This instantlocalized response can be compared to the localized room responses todetermine a similar localized room response (i.e., a response that mostsimilar), and thereby identify corresponding calibration settings basedon a multi-location calibration. The playback device then applies toitself the multi-location calibration settings stored in the database250 a that are associated with the identified record.

Efficacy of the applied calibration settings is influenced by a degreeof similarity between the identified stored acoustic response in thedatabase 250 a and the determined acoustic response for the playbackdevice being calibrated. In particular, if the acoustic responses aresignificantly similar or identical, then the applied calibrationsettings are more likely to accurately offset or otherwise account foran acoustic response of the room in which the playback device beingcalibrated is located (e.g., by achieving or approaching a targetfrequency response in the room, as described above). On the other hand,if the acoustic responses are relatively dissimilar, then the appliedcalibration settings are less likely to accurately account for anacoustic response of the room in which the playback device beingcalibrated is located. Accordingly, populating the database 250 a withrecords corresponding to a significantly large number of historicalcalibration processes may be desirable so as to increase the likelihoodof the database 250 a including acoustic response data similar to anacoustic response of the room of the playback device presently beingcalibrated.

As further shown, in some examples, the database 250 a includes dataidentifying a type of a playback device associate with each record.Playback device “type” refers to a model and/or revision of a model, aswell as different models that are designed to produce similar audiooutput (e.g., playback devices with similar components), among otherexamples. The type of the playback device may be indicated whenproviding the calibration settings and room response data to thedatabase 250 a. As an example, in addition to the network device 230and/or the playback device 210 a sending data representing themulti-location calibration settings for the playback device 210 a anddata representing the localized acoustic response of the room 201 a tothe computing device 206, the network device 230 and/or the playbackdevice 210 a also sends data representing a type of the playback device210 a to the computing device. Examples of playback device types offeredby Sonos, Inc. include, by way of illustration, various models ofplayback devices such as a “SONOS ONE,” “PLAY:1,” “PLAY:3,” “PLAY:5,”“PLAYBAR,” “PLAYBASE,” “CONNECT:AMP,” “CONNECT,” and “SUB,” amongothers.

In some examples, the data identifying the type of the playback deviceadditionally or alternatively includes data identifying a configurationof the playback device. For instance, as described above in connectionwith FIG. 1E, a playback device may be a bonded or paired playbackdevice configured to process and reproduce sound differently than anunbonded or unpaired playback device. Accordingly, in some examples, thedata identifying the type of the playback device 210 a includes dataidentifying whether the playback device 210 a is in a bonded or pairedconfiguration.

By storing in the database 250 a data identifying the type of theplayback device, the database 250 a may be more quickly searched byfiltering data based on playback device type, as described in furtherdetail below. However, in some examples, the database 250 a does notinclude data identifying the device type of the playback deviceassociated with each record.

In some implementations, calibrations settings for a first type ofplayback device may be used for a second type of playback device,provided that a model is created to translate from the first type to thesecond type. The model may include a transfer function that transfers aresponse of a first type of playback device to a response of a secondtype of playback device. Such models may be determined by comparingresponses of the two types of playback devices in an anechoic chamberand determining a transfer function that translates between the tworesponses.

FIG. 2C depicts an example environment in which a playback device 210 bleverages the database 250 a to perform a self-calibration processwithout determining a multi-location acoustic response of its room 201b.

In one example, the self-calibration of the playback device 210 b may beinitiated when the playback device 210 b is being set up for the firsttime in the room 201 b, when the playback device 210 b first outputsmusic or some other audio content, or if the playback device 210 b hasbeen moved to a new location. For instance, if the playback device 210 bis moved to a new location, calibration of the playback device 210 b maybe initiated based on a detection of the movement (e.g., via a globalpositioning system (GPS), one or more accelerometers, or wireless signalstrength variations), or based on a user input indicating that theplayback device 210 b has moved to a new location (e.g., a change inplayback zone name associated with the playback device 210 b).

In another example, calibration of the playback device 210 b may beinitiated via a controller device, such as the controller device 130 adepicted in FIG. 1H. For instance, a user may access a controllerinterface for the playback device 210 b to initiate calibration of theplayback device 210 b. In one case, the user may access the controllerinterface, and select the playback device 210 b (or a group of playbackdevices that includes the playback device 210 b) for calibration. Insome cases, a calibration interface may be provided as part of aplayback device controller interface to allow a user to initiateplayback device calibration. Other examples are also possible.

Further, in some examples, calibration of the playback device 210 b isinitiated periodically, or after a threshold amount of time has elapsedafter a previous calibration, in order to account for changes to theenvironment of the playback device 210 b. For instance, a user maychange a layout of the room 201 b (e.g., by adding, removing, orrearranging furniture), thereby altering the acoustic response of theroom 201 b. As a result, any calibration settings applied to theplayback device 210 b before the room 201 b is altered may have areduced efficacy of accounting for, or offsetting, the altered acousticresponse of the room 201 b. Initiating calibration of the playbackdevice 210 b periodically, or after a threshold amount of time haselapsed after a previous calibration, can help address this issue byupdating the calibration settings at a later time (i.e., after the room201 b is altered) so that the calibration settings applied to theplayback device 210 b are based on the altered acoustic response of theroom 201 b.

Additionally, because calibration of the playback device 210 b involvesaccessing and retrieving calibration settings from the database 250 a,as described in further detail below, initiating calibration of theplayback device 210 b periodically, or after a threshold amount of timehas elapsed after a previous calibration, may further improve alistening experience in the room 201 b by accounting for changes to thedatabase 250 a. For instance, as users continue to calibrate variousplayback devices in various rooms, the database 250 a continues to beupdated with additional acoustic room responses and correspondingcalibration settings. As such, a newly added acoustic response (i.e., anacoustic response that is added to the database 250 a after the playbackdevice 210 b has already been calibrated) may more closely resemble theacoustic response of the room 201 b.

Thus, by initiating calibration of the playback device 210 bperiodically, or after a threshold amount of time has elapsed after aprevious calibration, the calibration settings corresponding to thenewly added acoustic response may be applied to the playback device 210b. Accordingly, in some examples, the playback device 210 b determinesthat at least a threshold amount of time has elapsed after the playbackdevice 210 b has been calibrated, and, responsive to making such adetermination, the playback device 210 b initiates a calibrationprocess, such as the calibration processes described below.

When performing the calibration process, the playback device 210 boutputs audio content and determines a localized acoustic response ofits room 201 b similarly to how playback device 210 a determined alocalized acoustic response of room 201 a. For instance, the playbackdevice 210 b outputs audio content, which may include music or one ormore predefined tones, captures audio data representing reflections ofthe audio content within the room 201 b, and determines the localizedacoustic response based on the captured audio data.

Causing the playback device 210 b to output spectrally rich audiocontent during the calibration process may yield a more accuratelocalized acoustic response of the room 201 b. Thus, in examples wherethe audio content includes predefined tones, the playback device 210 bmay output predefined tones over a range of frequencies for determiningthe localized acoustic response of the room 201 b. And in examples wherethe audio content includes music, such as music played during normal useof the playback device 210 b, the playback device 210 b may determinethe localized acoustic response based on audio data that is capturedover an extended period of time.

For instance, as the playback device 210 b outputs music, the playbackdevice 210 b may continue to capture audio data representing reflectionsof the output music within the room 201 b until a threshold amount ofdata at a threshold amount of frequencies is captured. Depending on thespectral content of the output music, the playback device 210 b maycapture the reflected audio data over the course of multiple songs, forinstance, in order for the playback device 210 b to have captured thethreshold amount of data at the threshold amount of frequencies. In thismanner, the playback device 210 b gradually learns the localizedacoustic response of the room 201 b, and once a threshold confidence inunderstanding of the localized acoustic response of the room 201 b ismet, then the playback device 210 b uses the localized acoustic responseof the room 201 b to determine calibration settings for the playbackdevice 210 b, as described in further detail below.

While outputting the audio content, the playback device 210 b uses oneor more stationary microphones, which may be disposed in or on a housingof the playback device 210 b or may be co-located in or on an NMDproximate to the playback device 210 b, to capture audio datarepresenting reflections of the audio content in the room 201 b. Theplayback device 210 b then uses the captured audio data to determine thelocalized acoustic response of the room 201 b. In line with thediscussion above, the localized acoustic response may include a spectralresponse, spatial response, or temporal response, among others, and thelocalized acoustic response may be represented in vector or matrix form.

In some embodiments, determining the localized acoustic response of theroom 201 b involves accounting for a self-response of the playbackdevice 210 b or of a microphone of the playback device 210 b, forexample, by processing the captured audio data representing reflectionsof the audio content in the room 201 b so that the captured audio datareduces or excludes the playback device's native influence on the audioreflections.

In one example, the self-response of the playback device 210 b isdetermined in an anechoic chamber, or is otherwise known based on aself-response of a similar playback device being determined in ananechoic chamber. In the anechoic chamber, audio content output by theplayback device 210 b is inhibited from reflecting back toward theplayback device 210 b, so that audio captured by a microphone of theplayback device 210 b is indicative of the self-response of the playbackdevice 210 b or of the microphone of the playback device 210 b. Knowingthe self-response of the playback device 210 b or of the microphone ofthe playback device 210 b, the playback device 210 b offsets such aself-response from the captured audio data representing reflections ofthe first audio content when determining the localized acoustic responseof the room 201 b.

Once the localized acoustic response of the room 201 b is known, theplayback device 210 b accesses the database 250 a to determine a set ofcalibration settings to account for the acoustic response of the room201 b. More specifically, the playback device 210 b determines arecorded and stored localized acoustic response recorded during aprevious multi-location calibration which is within a thresholdsimilarity (e.g., most similar to) the localized acoustic response ofthe room 201 b. For example, the playback device 210 b establishes aconnection with the computing device 206 and with the database 250 a ofthe computing device 206, and the playback device 210 b queries thedatabase 250 a for a stored acoustic room response that corresponds tothe determined localized acoustic response of the room 201 b.

In some examples, querying the database 250 a involves mapping thedetermined localized acoustic response of the room 201 b to a particularstored acoustic room response in the database 250 a that satisfies athreshold similarity to the localized acoustic response of the room 201b. This mapping may involve comparing values of the localized acousticresponse to values of the stored localized acoustic room responses anddetermining which of the stored localized acoustic room responses aresimilar to the instant localized acoustic response. For example, inimplementations where the acoustic responses are represented as vectors,the mapping may involve determining distances between the localizedacoustic response vector and the stored acoustic response vectors. Insuch a scenario, the stored acoustic response vector having the smallestdistance from the localized acoustic response vector of the room 201 bmay be identified as satisfying the threshold similarity. In someexamples, one or more values of the localized acoustic response of theroom 201 b may be averaged and compared to corresponding averaged valuesof the stored acoustic responses of the database 250 a. In such ascenario, the stored acoustic response having averaged values closest tothe averaged values of the localized acoustic response vector of theroom 201 b may be identified as satisfying the threshold similarity.Other examples are possible as well.

As shown, the room 201 b depicted in FIG. 2C and the room 201 a depictedin FIG. 2A are similarly shaped and have similar layouts. Further, theplayback device 210 b and the playback device 210 a are arranged insimilar positions in their respective rooms. As such, when the localizedroom response determined by playback device 210 b for room 201 b iscompared to the room responses stored in the database 250 a, thecomputing device 206 may determine that the localized room responsedetermined by playback device 210 a for room 201 a has at least athreshold similarity to the localized room response determined byplayback device 210 b for room 201 b.

In some examples, querying the database 250 a involves querying only aportion of the database 250 a. For instance, as noted above, thedatabase 250 a may identify a type or configuration of playback devicefor which each record of the database 250 a is generated. Playbackdevices of the same type or configuration may be more likely to havesimilar room responses and may be more likely to have compatiblecalibration settings. Accordingly, in some embodiments, when theplayback device 210 b queries the database 250 a for comparing thelocalized acoustic response of the room 201 b to the stored roomresponses of the database 250 a, the playback device 210 b might onlycompare the localized acoustic response of the room 201 b to stored roomresponses associated with playback devices of the same type orconfiguration as the playback device 210 b.

Once a stored acoustic room response of the database 250 a is determinedto be threshold similar to the localized acoustic response of the room201 b, then the playback device 210 b identifies a set of calibrationsettings associated with the threshold similar stored acoustic roomresponse. For instance, as shown in FIG. 2B, each stored acoustic roomresponse is included as part of a record that also includes a set ofcalibration settings designed to account for the room response. As such,the playback device 210 b retrieves, or otherwise obtains from thedatabase 250 a, the set of calibration settings that share a record withthe threshold similar stored acoustic room response and applies the setof calibration settings to itself. Alternatively, the playback device201 b may determine (i.e. calculate) a set of calibration settings basedon a target frequency curve and the threshold similar stored acousticroom response.

After applying the obtained calibration settings to itself, the playbackdevice 210 b outputs, via its one or more transducers, second audiocontent using the applied calibration settings. Even though the appliedcalibration settings were determined for a different playback devicecalibrated in a different room, the localized acoustic response of theroom 201 b is similar enough to the stored acoustic response that thesecond audio content is output in a manner that at least partiallyaccounts for the acoustics of the room 201 b. For instance, with theapplied calibration settings, the second audio content output by theplayback device 210 b may have a frequency response, at one or morelocations in the room 201 b, that is closer to a target frequencyresponse than the first audio content.

IV. Example Systems and Methods for Calibrating a Portable PlaybackDevice

FIG. 2D depicts example environments in which a portable playback device210 c performs playback device calibration upon changing conditions,such as movement to a new location or passage of time. The portableplayback device 210 c may be similar to any of the playback devices 110depicted in FIGS. 1A-1E and 1G, and the network device 230 may besimilar to any of the NMDs 120 or controllers 130 depicted in FIGS.1A-1B and 1F-1H. In contrast with the playback devices 110, the portableplayback device 210 c may be configured for portable use. As such, theportable playback device 210 c may include one or more batteries topower the portable playback device 210 c while disconnected from wallpower. Further, the components of the portable playback device 210 c maybe configured to facilitate portable use such as by implementing certainprocessors, amplifiers, and/or transducers to balance audio outputlevels and battery life. Yet further, a housing of the portable playbackdevice 210 c may be configured to facilitate portable use such as byincluding or incorporating a carrying handle or the like.

Given that the portable playback device 210 c is configured for portableoperation, during regular use, a user may be expected to relocate theportable playback device 210 c relatively frequently. For example, atvarious times a user may move portable playback device 210 c tolocations 252 a, 252 b, and 252 c in rooms 201 c, 201 d, and 201 e,respectively. By way of example, room 201 c may be a kitchen, room 201 dmay be a family room, and room 201 e may be a patio or other outdoorarea. Localized acoustic responses vary between rooms 201 c, 201 d, and201 e and self-calibration at each location is desirable. The portableplayback device 210 c might not consistently or reliably have access todatabase 250 a and/or computing device 206, as the portable playbackdevice 210 c may be located out of Wi-Fi range or may disable itsnetwork interface(s) to lower battery use. As such, in some embodiments,the portable playback device 210 c may include a locally stored database250 b (as shown in FIG. 2E) to perform self-calibration on the portableplayback device 210 c without accessing a remote database.

Additionally or alternatively, the playback device 210 c may leverageboth a remote database, such as database 250 a, and a local database,such as database 250 b, during various calibrations. More specifically,in some embodiments, the playback device 210 c may access a remotedatabase, such as database 250 a, when said access is available. Forexample, the playback device 210 c may perform calibration by accessingthe remote database 250 a when the playback device is within Wi-Fi rangeand by accessing the local database 250 b when the playback device isoutside of Wi-Fi range.

In some embodiments, portable playback devices may perform calibrationusing a multi-location acoustic response of a room by way of methodsdisclosed herein and incorporated by reference. In some embodiments,portable playback devices may leverage a database (e.g., 250 a or 250 b)used to perform self-calibration process without determining amulti-location acoustic response of its room by way of methods disclosedherein and incorporated by reference. Further, some portable playbackdevices may be configured to perform calibration by way of using amulti-location acoustic response of a room and self-calibration processwithout determining a multi-location acoustic response of its room. Assuch, a variety of calibration initiation techniques may be employed onportable playback devices to account for various device capabilities andenvironments.

A. Calibration Initiation

The portable playback device 210 c calibration and/or self-calibrationprocess may be initiated at various times and/or in various ways. In oneexample, calibration and/or self-calibration of the portable playbackdevice 210 c may be initiated when the portable playback device 210 c isbeing set up for the first time, for example, in the room 201 c and/orwhen the portable playback device 210 c first outputs music or someother audio content, as described in any manner disclosed herein. Inanother example embodiment, the portable playback device 210 c mayinitiate calibration and/or self-calibration when the power is turned onand/or audio content begins playing.

To account for the movement, and therefore changing conditions, of theportable playback device 210 c, a variety of self-calibration initiationtechniques may be employed. In some example embodiments, the playbackdevice 210 c initiates self-calibration based on movement to a newlocation. By way of example, a user may move the portable playbackdevice 210 c from room 201 c to room 201 d. The portable playback device210 c may initiate self-calibration once the portable playback device210 c is placed in the new location 252 b. Similarly, the portableplayback device 210 c may stall or suspend any self-calibration uponindication of movement, as self-calibration while the portable playbackdevice 210 c is in transit is unnecessary and would result in aninaccurate acoustic room response.

In these examples, the portable playback device 210 c may be configuredto detect movement of the portable playback device 210 c by way of, forexample, one or more accelerometers, or other suitable motion detectiondevices (e.g., via a GPS or wireless signal strength variations). Anaccelerometer, or other motion detection device, is configured tocollect and output data indicative of movement by the portable playbackdevice 210 c. The portable playback device 210 c may determine whetherto initiate self-calibration and/or suspend self-calibration based onmovement data from the accelerometer. More specifically, the portableplayback device 210 c may suspend self-calibration upon receiving anindication from the accelerometer that the portable playback device 210c is in motion. Conversely, the portable playback device 210 c mayinitiate self-calibration upon receiving an indication from theaccelerometer that the portable playback device 210 c is stationary fora predetermined duration of time (e.g., 5 seconds, 10 seconds). Further,the playback device 210 c may not initiate calibration unless and/oruntil the playback device 210 c is in use (i.e., outputting audiocontent).

In some example embodiments, self-calibration of the portable playbackdevice 210 c may only be initiated upon placement of the portableplayback device 210 c (i.e., self-calibration initiates when theportable playback device 210 c is set down on a surface or playbackdevice base (as described below)). In these examples, the portableplayback device 210 c does not initiate self-calibration until theportable playback device 210 c has been moved and set down and isstationary.

In a different example scenario, a user may move the portable playbackdevice 210 c while in use (i.e., outputting audio content) but betweenself-calibration periods (i.e., the portable playback device 210 c isnot actively performing self-calibration). The portable playback device210 c may detect the motion by way of motion data from theaccelerometer. In response to receiving the motion data, the portableplayback device 210 c may delay initiation of self-calibration untilreceiving data indicating the portable playback device 210 c isstationary. Once the portable playback device 210 c is stationary for aperiod of time (e.g., 2 seconds) the portable playback device 210 c mayinitiate self-calibration and continue, for example, periodicallythereafter.

Similarly, in another example scenario, a user may move the portableplayback device 210 c while in use and while the portable playbackdevice 210 c is performing self-calibration. In response to receivingdata from the accelerometer indicating the portable playback device 210c is in motion, the portable playback device 210 c may suspendcalibration until the portable playback device 210 c is stationaryagain. In some examples, the portable playback device 210 c may initiateself-calibration once the portable playback device 210 c is stationaryfor a period of time (e.g., 2 seconds). The portable playback device 210c may continue initiating self-calibration, for example, periodicallythereafter. Similar methods may be utilized for other suitable motiondetection devices, such as a GPS or gyroscope.

In some embodiments, while the portable playback device 210 c is inmotion, the most-recent determined audio calibration settings may beapplied to the audio content. Alternatively, while the portable playbackdevice 210 c is in motion, standard audio calibration settings may beapplied, such as a factory default setting. In another example, whilethe portable playback device 210 c is in motion, the portable playbackdevice 210 c may apply stored set of audio calibration settings for usewhen the portable playback device 210 c is in motion. Many otherexamples are possible. To avoid an abrupt change in audio calibrationsettings, such as when portable playback device 210 c is picked up andfactory default audio calibration settings are applied, audiocalibration settings may be applied gradually (e.g., over a period of 5seconds).

Further, in some embodiments, any calibration data stored on theportable playback device 210 c or applied to the audio content may beerased from the portable playback device 210 c once it is moved orpicked up. By deleting calibration data, data storage and/or processingcycles may be freed up.

Additionally or alternatively, portable playback device 210 c may becompatible with one or more playback device bases. A playback devicebase may include, for example, device charging systems, a baseidentifier (i.e., distinguishes that playback device base from otherplayback device bases), and a control system including one or moreprocessors and a memory. Additional details regarding playback devicebases may be found, for example, in U.S. Pat. No. 9,544,701, which wasincorporated by reference above.

In some embodiments, a single playback device may be compatible with anumber of playback device bases. Similarly, a playback device base maybe compatible with a number of playback devices. By way of example,there may be a first, second, and third playback device base atlocations 252 a, 252 b, and 252 c, respectively. In this example, theportable playback device 210 c may be compatible with all three playbackdevice bases. In these examples, the portable playback device 210 c mayinitiate calibration and/or self-calibration once the portable playbackdevice 210 c is placed on any of the playback device bases.

In some embodiments, the portable playback device 210 c, the playbackdevice base, and/or the computing device 206 may store the determinedacoustic response once the portable playback device 210 c has beencalibrated at a particular base. For example, the portable playbackdevice 210 c may be placed on the playback device base at location 252 band initiate self-calibration. Once the self-calibration is complete,the portable playback device 210 c, the playback device base, and/or thecomputing device 206 may store the determined audio calibrationsettings. More specifically, in some embodiments, the portable playbackdevice 210 c may store the determined acoustic response locally on thedevice with the corresponding playback device base identifier. This isdesirable for future use, as the determined audio calibration settingscan be readily be retrieved and applied to the portable playback device210 c once the portable playback device 210 c is placed on the playbackdevice base at a later time. Similarly, the determined audio calibrationsettings may be transmitted to a remote computing device, such ascomputing device 206, to be retrieved at a later time.

Further, the determined acoustic response may be stored locally on theplayback device base or remotely on the computing device 206 for otherplayback devices placed on the playback device base at a later time. Forexample, a playback device, other than portable playback device 210 c,may be compatible with and placed on the playback device base atlocation 252 b. The newly placed playback device may retrieve and applystored audio calibration settings for example, from the playback devicebase or the remote computing device 206.

Additionally, in some examples, a playback device base may be compatiblewith more than one type or model of playback device. In these examples,the playback device base and/or remote computing device 206 may storecalibration settings specific to the different types of playbackdevices. For example, a playback device base may be compatible withportable playback device 210 c and a “SONOS ONE” playback device. Theplayback device base and/or computing device 206 may store audiocalibration settings corresponding to the type of playback device, suchthat audio calibrations settings specific to the type of device may bereadily retrieved and applied to the audio content (e.g., “SONOS ONE”playback device calibration settings are applied to any “SONOS ONE”playback devices placed on the playback device base at a particularlocation). In another example embodiment, the playback device baseand/or remote computing device 206 may store acoustic responses whichare independent of device type. For example, the playback device 210 cmay retrieve and apply audio calibration settings corresponding to anacoustic response previously determined by a different type of playbackdevice and stored on the playback device base and/or remote computingdevice 206.

In some example embodiments, the playback device base excludes aplayback device base identifier. In these examples, the playback device210 c may perform calibration and/or self-calibration upon placement onthe playback device base to identify the particular playback devicebase. For example, the playback device 210 c may identify that it hasbeen placed on a playback device base and match the same or similaracoustic response with a determined acoustic response from a previouslyperformed calibration and/or self-calibration stored on the playbackdevice 210 c and retrieve and apply the audio calibration settingsselected in the previous calibration.

Receiving the same or similar response indicates that the playbackdevice 210 c may be on the same playback device base as when thematching or similar acoustic response was previously recorded. In someexamples the playback device 210 c may store the acoustic responses anddetermined audio calibration setting in association with the particularplayback device. In some examples, the matching or similar previouslydetermined acoustic response may have been determined using themulti-location calibration techniques, whereas the more recent acousticresponse was determined without using the multi-location calibrationtechniques. In these examples, the playback device 210 c may apply theaudio settings corresponding to the determined multi-location acousticresponse, as this room response may be more accurate.

Alternatively, in examples where the playback device 210 c does notidentify a matching acoustic response, the playback device 210 c mayinitiate or continue calibration and/or self-calibration according toany of the calibration initiation techniques described herein.

In another example, calibration and/or self-calibration of the portableplayback device 210 c may be initiated via a controller device, such asthe controller device 130 a depicted in FIG. 1H. For instance, a usermay access a controller interface for the portable playback device 210 cto initiate calibration of the playback device 210 c. In one case, theuser may access the controller interface, and select the portableplayback device 210 c (or a group of playback devices that includes theportable playback device 210 c) for calibration. In some cases, acalibration interface may be provided as part of a playback devicecontroller interface to allow a user to initiate playback devicecalibration. Additionally, self-calibration may be initiated based on auser input indicating that the portable playback device 210 c has movedto a new location (e.g., a change in playback zone name associated withthe playback device 210 c). Other examples are also possible.

In another example, calibration of the portable playback device 210 cmay be initiated by a user via voice input or a voice command. In theseexamples, the portable playback device 210 c may be an NMD, such as NMD120 a. The user may say a command, such as “calibrate” or “startcalibration”. Upon receipt and processing of the command, the portableplayback device 210 c may initiate calibration. Many other calibrationinitiation processing commands are possible.

Similarly, in some embodiments, the portable playback device 210 c mayinitiate self-calibration in response to receiving an instruction orcommand to play audio content. For example, a user may issue a commandby way of, for example, a controller device 130 a or voice command toplay music on the portable playback device 210 c. Once the music beginsplaying, portable playback device 210 c may initiate self-calibration.

In some examples, a user may wish to deactivate automatic or repetitive(e.g., periodic, as described below) self-calibration. In theseexamples, the user may deactivate or stall calibration by way of acontroller device 130 a or a voice command, as described above. Forexample, the user may toggle an automatic calibration function on or offby way of a user interface on the controller device 130 a. This may bedesirable to save battery power, as, in some implementations, thecalibration is computationally intensive and involves significantbattery usage. This may also be desirable to accommodate userpreference. Self-calibration relies on enablement of one or moremicrophones on the portable playback device 210 c, which may also beutilized for voice-commands, as described above. As such, the user maytoggle off the automatic calibration of the portable playback device 210c due to a preference to keep the one or more microphones disabled.

Further, in some examples, self-calibration of the playback device 210 bis initiated periodically, or after a threshold amount of time haselapsed after a previous calibration, in order to account for changes tothe environment or changes in the location of the playback device 210 c.

In some embodiments, the portable playback device 210 c may initiateself-calibration periodically while the portable playback device 210 cis in use (i.e., outputting audio content). For example, the time periodbetween self-calibration cycles may be between 10 seconds and 30seconds. In other examples, the portable playback device 210 c mayinitiate self-calibration every 30 minutes. Many other examples arepossible.

In some examples, the portable playback device 210 c is playing audiocontent when the predetermined duration of time has passed. Becauseplaying audio content is necessary for self-calibration, the portableplayback device 210 c may stall or suspend the calibration initiationuntil the portable playback device 210 c begins outputting audio content(e.g., when a user issues a command to play music on the portableplayback device 210 c, as described above). Further, as described above,calibration may continue over a period of time until enough acousticresponse data is recorded and collected. In some examples, the periodbetween calibrations is measured from the time calibration is completed.In other examples, the period between calibrations is measured from theinitiation of the calibration.

Receiving the same or similar acoustic response data indicates that theportable playback device 210 c has not moved since a previousself-calibration and therefore does not require further calibrationuntil the portable playback device 210 c is relocated. As such, in someembodiments, periodic self-calibration initiation may slow (i.e., thetime periods between self-calibration increase) or stop if the acousticresponse data is the same or similar over a period of time.

For example, the portable playback device 210 c may be in use (i.e.,outputting audio content) in location 252 a for an extended periodwithout relocation. In this example, the portable playback device 210 cmay periodically initiate self-calibration every 20 seconds. Afterreceiving the same or similar acoustic response a number of times (e.g.,15 times), the portable playback device may increase theself-calibration initiation period to, for example, 40 seconds. Theportable playback device 210 c may continue to increase theself-calibration initiation period upon repeatedly receiving the same orsimilar acoustic responses (e.g., 60 seconds, 80 seconds, etc.). In someembodiments, the portable playback device 210 c may even suspendself-calibration initiation until receiving some other prompt to performcalibration and/or self-calibration (e.g., receiving data indicatingmotion of the portable playback device 210 c, user instruction, etc.).This may be desirable to save battery power, as the self-calibrationprocess is computationally intensive and involves a significant batteryusage.

In some embodiments, periodic self-calibration initiation may be used incombination with other calibration and/or self-calibration initiationtechniques, such as motion data based and/or playback device basecalibration initiation. For example, the portable playback device 210 cmay periodically initiate self-calibration. In one example scenario, auser may move the portable playback device 210 c while in use (i.e.,outputting audio content) but between self-calibration periods. Theportable playback device 210 c may detect the motion by way of motiondata from the accelerometer. In response to receiving the motion data,the portable playback device 210 c may not initiate self-calibrationuntil receiving data indicating the portable playback device 210 c isstationary. Once the portable playback device 210 c is stationary for aperiod of time (e.g., 10 seconds) the portable playback device 210 c mayinitiate self-calibration and continue thereafter periodically.

Similarly, in another example scenario, a user may move the portableplayback device 210 c while in use and while the portable playbackdevice is performing calibration and/or self-calibration. In response toreceiving data from the accelerometer indicating the portable playbackdevice 210 c is in motion, the portable playback device may suspendself-calibration until the portable playback device is stationary again.Once the portable playback device 210 c is stationary for a period oftime (e.g., 10 seconds) the portable playback device 210 c may initiateself-calibration and continue thereafter periodically. Additionally oralternatively, the playback device 210 c may delete or discard the datacollected via the microphone before the playback device 210 c beganmoving (i.e., the data from the interrupted/suspended calibration).

Additionally or alternatively, in some embodiments the portable playbackdevice 210 c initiates self-calibration periodically while being used inconjunction with a playback device base to account for changingconditions in the environment of the portable playback device 210 c. Inan example scenario, a user may remove the portable playback device 210c from the playback device base at location 252 a while in use butbetween self-calibration periods. Once the portable playback device 210c is removed from the playback device base, the portable playback device210 c does not initiate self-calibration until receiving data indicatingthe portable playback device 210 c is stationary or placed on anotherplayback device base (e.g., playback device base at location 252 b).Once the portable playback device 210 c is stationary for a period oftime (e.g., 10 seconds) and/or is placed at another playback device base(e.g., playback device base at location 252 b), the portable playbackdevice 210 c may initiate calibration and continue thereafterperiodically.

Similarly, in an example scenario, a user may remove the portableplayback device 210 c from the playback device base at location 252 awhile outputting audio content and while the portable playback device210 c is performing calibration. Once the portable playback device 210 cis removed from the playback device base, the portable playback device210 c, may suspend self-calibration until the portable playback deviceis stationary again or placed on another playback device base (e.g.,playback device base at location 252 b). Once the portable playbackdevice 210 c is stationary for a period of time and/or is placed atanother playback device base (e.g., playback device base at location 252b), the portable playback device 210 c may initiate self-calibration andcontinue thereafter periodically.

These calibration and self-calibration initiation techniques may be usedalone or in combination with any calibration techniques describedherein.

B. Portable Playback Device Local Calibration and Local CalibrationDatabase

As described above, in some embodiments, portable playback devices mayperform calibration using a multi-location acoustic response of a roomby way of methods disclosed herein. In some embodiments, portableplayback devices may leverage a database (e.g., 250 a or 250 b) toperform self-calibration process without determining a multi-locationacoustic response of its room by way of methods disclosed herein.Further, some portable playback devices may be configured to performboth calibration by way of using a multi-location acoustic response of aroom and self-calibration process without determining a multi-locationacoustic response of its room. Due to movement and relocation, portableplayback device 210 c might not consistently or reliably have access todatabase 250 a and/or computing device 206. As such, in someembodiments, the portable playback device 210 c may include a locallystored database 250 b (as shown in FIG. 2E) to perform self-calibrationon the portable playback device 210 c without accessing a remotedatabase.

FIG. 2E depicts an example representation of database 250 a to belocally stored database 250 b for portable playback device 210 c. Toaccount for the storage and computational capabilities of an individualportable playback device 210 c, the locally stored database 250 b may bea representation or generalization of the database 250 a stored on aremote computing device 206.

As described above, the database 250 a leveraged during someself-calibration is based on historical calibration settings 256previously collected on other playback devices in which a particularplayback device was calibrated by determining calibration settings basedon a multi-location acoustic response. In some examples, the database250 a includes historical calibration settings collected on many typesof playback devices. In another example the database 250 a includeshistorical calibration settings collected specifically on a number ofportable playback devices. These historical calibration settings forportable playback devices may be developed through concurrentmulti-location acoustic responses and localized acoustic responses, asdescribed above.

In some example embodiments, the locally stored database 250 b mayinclude historical data points 256, or a representation thereof, fromthe entirety or a majority of database 250 a. In other exampleembodiments, the locally stored database 250 b may include historicaldata points 256, or a representation thereof, from calibration settingscollected on portable playback devices. Alternatively, in some exampleembodiments, the locally stored database 250 b may include historicaldata points 256, or a representation thereof, from calibration settingscollected on a limited number of types of playback devices which aresimilar in some way to portable playback devices. Many examples arepossible.

In some example embodiments, the locally stored database 250 b is ageneralization of database 250 a. One example of such a generalizationor representation is a best fit line 254 of a frequency response. Inthese examples, the portable playback device 210 c may locally store thegeneralization (i.e., best fit line 254) data. Another example of ageneralization or representation is a best fit line 254 of historicallocal responses corresponding to historical multi-location responses.While FIG. 2E illustrates a best fit line 254 along two axes, a best fitline 254 may be representative of a number of inputs inmulti-dimensional space. This is desirable as a best fit line 254requires much less memory and self-calibration may be much lesscomputationally intensive. In these examples, the locally storeddatabase 250 b may only include the best fit line(s) 254 rather than theindividual historical data points 256. While FIG. 2E illustrates asingle best fit line 254, locally stored database 250 b may include anumber of best fit lines 254. Other examples of representations andgeneralizations are possible as well. Further, the portable playbackdevice 210 c software updates may include updating database 250 b toinclude updated data, as more multi-location calibration settings andlocalized acoustic responses are added to database 250 a, as describedabove.

Self-calibration of portable playback devices may be similar to themethods of self-calibration of stationary playbacks described, herein.During self-calibration of a portable playback device 210 c, however,the portable playback device may leverage the locally stored database250 b, rather than database 250 a.

For example, when performing the self-calibration process, the portableplayback device 210 c outputs audio content and determines a localizedacoustic response of its room 201 c similarly to how playback devices210 a and 210 b determined a localized acoustic response of rooms 201 aand 201 b, respectively. For instance, the portable playback device 210c outputs audio content, which may include music or one or morepredefined tones, captures audio data representing reflections of theaudio content within the room 201 c, and determines the localizedacoustic response based on the captured audio data.

As described above, in examples where the portable playback device 210 coutputs music, the portable playback device 210 c may continue tocapture audio data representing reflections of the output music withinthe room 201 c until a threshold amount of data at a threshold amount offrequencies is captured. Depending on the spectral content of the outputmusic, the portable playback device 210 c may capture the reflectedaudio data over the course of multiple songs, for instance, in order forthe portable playback device 210 c to have captured the threshold amountof data at the threshold amount of frequencies. In this manner, theportable playback device 210 c learns the localized acoustic response ofthe room 201 c, and once a threshold confidence in understanding of thelocalized acoustic response of the room 201 c is met, then the playbackdevice 210 c uses the localized acoustic response of the room 201 c todetermine calibration settings for the portable playback device 210 cutilizing the locally stored database 250 b, as described in furtherdetail below.

While outputting the audio content, the portable playback device 210 cuses one or more stationary microphones, which may be disposed in or ona housing of the portable playback device 210 c or may be co-located inor on an NMD proximate to the portable playback device 210 c, to captureaudio data representing reflections of the audio content in the room 201c. The playback device 210 c then uses the captured audio data todetermine the localized acoustic response of the room 201 c. Asdescribed above, the localized acoustic response may include a spectralresponse, spatial response, or temporal response, among others, and thelocalized acoustic response may be represented in vector or matrix form.

In some embodiments, determining the localized acoustic response of theroom 201 c involves accounting for a self-response of the portableplayback device 210 c or of a microphone of the portable playback device210 c, for example, by processing the captured audio data representingreflections of the audio content in the room 201 c so that the capturedaudio data reduces or excludes the playback device's native influence onthe audio reflections.

In one example, the self-response of the portable playback device 210 cis determined in an anechoic chamber, or is otherwise known based on aself-response of a similar portable playback device being determined inan anechoic chamber. In the anechoic chamber, audio content output bythe portable playback device 210 c is inhibited from reflecting backtoward the portable playback device 210 c, so that audio captured by amicrophone of the portable playback device 210 c is indicative of theself-response of the portable playback device 210 c or of the microphoneof the portable playback device 210 c. Knowing the self-response of theportable playback device 210 c or of the microphone of the portableplayback device 210 c, the portable playback device 210 c offsets such aself-response from the captured audio data representing reflections ofthe first audio content when determining the localized acoustic responseof the room 201 c.

Further, in some example scenarios, the portable playback device 210 cmay be in a very noisy environment, such as a social event or outdoors.As such, in some examples, the audio processing algorithm may include anoise classifier to filter out noise when performing calibration orself-calibration. The noise classifier may be applied by the playbackdevice 210 c (e.g., via audio processing components 112 g). Additionallyor alternatively, the portable playback device 210 c may apply a beamforming algorithm, such as a multichannel Weiner filter, to eliminatecertain environmental noises (e.g., conversations in the foreground)when calibrating and/or self-calibrating the portable playback device210 c.

Once the localized acoustic response of the room 201 c is known, theportable playback device 210 c accesses the locally stored database 250b to determine a set of calibration settings to account for the acousticresponse of the room 201 c. For example, the portable playback device210 c queries the locally stored database 250 b for a stored best fitline 254 room response that corresponds to the determined localizedacoustic response of the room 201 c.

In some examples, querying the locally stored database 250 b involvesmapping the determined localized acoustic response of the room 201 c toa particular stored acoustic room response in the database locallystored database 250 b that satisfies a threshold similarity to thelocalized acoustic response of the room 201 c. More specifically, insome example embodiments, the playback device 210 c determines arecorded and stored localized acoustic response from a previousmulti-location calibration which is within a threshold similarity (e.g.,most similar to) the localized acoustic response of the room 201 b. Thismapping may involve comparing values of the localized acoustic responseto values of the stored acoustic room responses, or representationsthereof according to the best fit line(s) 254, and determining which ofthe stored acoustic room responses are similar to the localized acousticresponse. In some embodiments, the most similar stored acoustic roomresponse is selected. Other examples are possible as well.

Once a stored acoustic room response of the locally stored database 250b is selected to be threshold similar to the localized acoustic responseof the room 201 c, then the portable playback device 210 c identifies aset of calibration settings associated with the threshold similar storedacoustic room response. For instance, as shown in FIG. 2E, the best fitline 254 associates room responses and audio calibration settings. Assuch, the portable playback device 210 c retrieves, or otherwise obtainsfrom the locally stored database 250 b, the set of calibration settingsassociated with the similar stored acoustic room response and appliesthe set of calibration settings to itself.

Portable playback device 210 c may repeat this self-calibration process,or any other calibration process described herein, in any room or area(e.g., 201 d and/or 20 e) it is moved to according to any of thecalibration initiation techniques described herein.

V. Example Methods

FIG. 3 shows an example embodiment of a method 300 for establishing adatabase of calibration settings for playback devices. Method 300 can beimplemented by any of the playback devices disclosed and/or describedherein, or any other playback device now known or later developed.

Various embodiments of method 300 include one or more operations,functions, and actions illustrated by blocks 302 through 316. Althoughthe blocks are illustrated in sequential order, these blocks may also beperformed in parallel, and/or in a different order than the orderdisclosed and described herein. Also, the various blocks may be combinedinto fewer blocks, divided into additional blocks, and/or removed basedupon a desired implementation.

In addition, for the method 300 and for other processes and methodsdisclosed herein, the flowcharts show functionality and operation of onepossible implementation of some embodiments. In this regard, each blockmay represent a module, a segment, or a portion of program code, whichincludes one or more instructions executable by one or more processorsfor implementing specific logical functions or steps in the process. Theprogram code may be stored on any type of computer readable medium, forexample, such as a storage device including a disk or hard drive. Thecomputer readable medium may include non-transitory computer readablemedia, for example, such as tangible, non-transitory computer-readablemedia that stores data for short periods of time like register memory,processor cache, and Random Access Memory (RAM). The computer readablemedium may also include non-transitory media, such as secondary orpersistent long term storage, like read only memory (ROM), optical ormagnetic disks, compact-disc read only memory (CD-ROM), for example. Thecomputer readable media may also be any other volatile or non-volatilestorage systems. The computer readable medium may be considered acomputer readable storage medium, for example, or a tangible storagedevice. In addition, for the methods 300 and 320 and for other processesand methods disclosed herein, each block in FIG. 3 may representcircuitry that is wired to perform the specific logical functions in theprocess.

Method 300 involves calibrating a portable playback device by way of alocally stored acoustic response database.

Method 300 begins at a block 302, which involves storing, via a playbackdevice, an acoustic response database comprising a plurality of sets ofstored audio calibration settings. Each set of stored audio calibrationsettings is associated with a respective stored acoustic area responseof a plurality of stored acoustic area responses. Example acousticresponse databases include the database 250 a (FIG. 2B) and the database250 b (FIG. 2E).

At the block 304, the method 300 involves determining that the playbackdevice is to perform an equalization calibration of the playback device.In some embodiments, the block 304 may further involve, receiving fromthe accelerometer, data indicating the playback device is stationary fora predetermined duration of time. In response to detecting that theplayback device is stationary for the predetermined duration of time,the playback device initiates the equalization calibration of theplayback device.

In some embodiments, the block 304 may additionally involve performingthe equalization calibration periodically over a first time period.Further, the playback device may receive, from the accelerometer, dataindicating the playback device is stationary for a predeterminedduration of time. In response to detecting that the playback device isstationary over the predetermined duration of time, the playback deviceperforms the equalization calibration periodically over a second timeperiod. The second time period is longer than the first time period.

In some embodiments, the block 304 may additionally involve receiving aninstruction to play audio content. In response to the instruction toplay audio content, the playback device plays the audio content andinitiates the equalization calibration of the playback device.

In some embodiments, the block 304 may additionally involve excludingcaptured audio data representing noise in the area in which the playbackdevice is located.

At block 306, method 300 involves outputting, via the speaker, audiocontent.

At block 308, the method 300 involves initiating the equalizationcalibration. In some embodiments, block 308 may additionally involveperforming the equalization calibration periodically, wherein a timeperiod between the equalization calibration is between 10 seconds and 30seconds.

At block 310, method 300 involves capturing, via the microphone, audiodata representing reflections of the audio content within an area inwhich the playback device is located.

At block 312, method 300 involves determining, via the playback device,an acoustic response of the area in which the playback device is locatedbased on at least the captured audio data.

At block 314, method 300 involves selecting, via the playback device, astored acoustic response from the acoustic response database that ismost similar to the determined acoustic response of the area in whichthe playback device is located.

At block 316, method 300 involves applying to the audio content, via theplayback device, a set of stored audio calibration settings associatedwith the selected stored acoustic area response.

In some embodiments, method 300 further involves receiving, from theaccelerometer, data indicating motion of the playback device. Inresponse to receiving data indicating motion of the playback device, theplayback device suspends the equalization calibration of the playbackdevice.

VI. Additional Examples

FIG. 4A is a first isometric view of an example portable playback device410. As shown in FIG. 4A, the portable playback device 410 includes ahousing 464 comprising an upper portion 468, a lower portion 466 and anintermediate portion 462 (e.g., a grille). The grille of theintermediate portion 462 allows sound to pass through from the one ormore transducers positioned within the housing 464.

A plurality of ports, holes or apertures 458 in the upper portion 468allow sound to pass through to one or more microphones positioned withinthe housing 464. These microphones may be utilized in the examplecalibration techniques disclosed herein.

The upper portion 468 further includes a user interface 460. The userinterface 460 includes a plurality of control surfaces (e.g., buttons,knobs, capacitive surfaces) including playback and activation controls(e.g., a previous control, a next control, a play and/or pause control).The user interface 460 is configured to receive touch inputcorresponding to activation and deactivation of the one or microphones.

FIG. 4B is a second isometric view of the portable playback device 410.As shown in FIG. 4B, the intermediate portion 462 further includes auser interface 472. The user interface 472 includes a plurality ofcontrol surfaces (e.g., buttons, knobs, capacitive surfaces) includingplayback, activation controls (e.g., a power toggle button, a Bluetoothdevice discovery control, etc.), and a carrying handle 475. The lowerportion 466 also includes a power receptacle 474, as shown.

FIG. 5 is a top view of a playback device base 576 to be used inconjunction with a portable playback device, such as playback device410. As shown in FIG. 5, the playback device base 576 includes a devicereceptacle 578, a power cord 580, and a power plug 582.

The device receptacle 578 is configured to receive playback device 410.The device receptacle 578 further includes a connection port 584compatible with the playback device 410. As shown in FIG. 5, in someembodiments, the receptacle 578 may be a loop. Many other examples arepossible.

In some embodiments, the power cord 580 is compatible with an electricaloutlet. In other embodiments, the power cord 580 may be compatible witha USB port. In another embodiment, the power cord 580 may be compatiblewith both an electrical outlet and a USB port by way of detachablepieces, for example.

As described above, when on the playback device base 576, the portableplayback device 410 may initiate calibration. When removed from theplayback device base 576, the portable playback device 410 may suspendcalibration until the portable device 410 is stationary again. Further,when on the playback device base 576, the portable playback device base576 may provide power (i.e., battery recharging) to portable playbackdevice 410.

VII. Conclusion

The above discussions relating to playback devices, controller devices,playback zone configurations, and media content sources provide onlysome examples of operating environments within which functions andmethods described below may be implemented. Other operating environmentsand configurations of media playback systems, playback devices, andnetwork devices not explicitly described herein may also be applicableand suitable for implementation of the functions and methods.

The description above discloses, among other things, various examplesystems, methods, apparatus, and articles of manufacture including,among other components, firmware and/or software executed on hardware.It is understood that such examples are merely illustrative and shouldnot be considered as limiting. For example, it is contemplated that anyor all of the firmware, hardware, and/or software aspects or componentscan be embodied exclusively in hardware, exclusively in software,exclusively in firmware, or in any combination of hardware, software,and/or firmware. Accordingly, the examples provided are not the onlyways) to implement such systems, methods, apparatus, and/or articles ofmanufacture.

Additionally, references herein to “embodiment” means that a particularfeature, structure, or characteristic described in connection with theembodiment can be included in at least one example embodiment of aninvention. The appearances of this phrase in various places in thespecification are not necessarily all referring to the same embodiment,nor are separate or alternative embodiments mutually exclusive of otherembodiments. As such, the embodiments described herein, explicitly andimplicitly understood by one skilled in the art, can be combined withother embodiments.

The present technology is illustrated, for example, according to variousaspects described below. Various examples of aspects of the presenttechnology are described as numbered examples (1, 2, 3, etc.) forconvenience. These are provided as examples and do not limit the presenttechnology. It is noted that any of the dependent examples may becombined in any combination, and placed into a respective independentexample. The other examples can be presented in a similar manner.

Example 1

A method comprising: storing an acoustic response database comprising aplurality of sets of stored audio calibration settings, each set ofstored audio calibration settings associated with a respective storedacoustic area response of a plurality of stored acoustic area responses;determining that the playback device is to perform an equalizationcalibration of the playback device; and in response to the determinationthat the playback device is to perform the equalization calibration,initiating the equalization calibration, wherein the equalizationcalibration comprises: outputting, via the speaker, audio content;capturing, via the microphone, audio data representing reflections ofthe audio content within an area in which the playback device islocated; based on at least the captured audio data, determining anacoustic response of the area in which the playback device is located;selecting a stored acoustic response from the acoustic response databasethat is most similar to the determined acoustic response of the area inwhich the playback device is located; and applying to the audio content,a set of stored audio calibration settings associated with the selectedstored acoustic response.

Example 2

The method of example 1, further comprising receiving, from theaccelerometer, data indicating motion of the playback device; and inresponse to receiving data indicating motion of the playback device,suspending the equalization calibration of the playback device.

Example 3

The method of any of examples 1-2, wherein determining that the playbackdevice is to perform the equalization calibration of the playback devicefurther comprises: receiving, from the accelerometer, data indicatingthe playback device is stationary for a predetermined duration of time;and in response to detecting that the playback device is stationary forthe predetermined duration of time, initiating the equalizationcalibration of the playback device.

Example 4

The method of any of examples 1-3, wherein determining that the playbackdevice is to perform the equalization calibration of the playback devicecomprises: performing the equalization calibration periodically over afirst time period; receiving, from the accelerometer, data indicatingthe playback device is stationary for a predetermined duration of time;and in response to detecting that the playback device is stationary overthe predetermined duration of time, performing the equalizationcalibration periodically over a second time period, wherein the secondtime period is longer than the first time period.

Example 5

The method of any of examples 1-4, wherein initiating the equalizationcalibration comprises performing the equalization calibrationperiodically, wherein a time period between the equalization calibrationis between 10 seconds and 30 seconds.

Example 6

The method of any of examples 1-5, wherein determining that the playbackdevice is to perform the equalization calibration of the playback devicefurther comprises: receiving an instruction to play audio content; andin response to the instruction to play audio content, playing the audiocontent and initiating the equalization calibration of the playbackdevice

Example 7

The method of any of examples 1-6, wherein initiating the equalizationcalibration comprises performing the equalization calibrationperiodically according to a time period between the equalizationcalibrations, and wherein determining that the playback device is toperform the equalization calibration of the playback device furthercomprises: determining the playback device is not outputting audiocontent when the time period between equalization calibration haselapsed; and in response determining the playback device is notoutputting audio content, suspending the equalization calibration of theplayback device.

Example 8

The method of any of examples 1-7, wherein determining the acousticresponse of the area in which the playback device is located furthercomprises: excluding captured audio data representing noise in the areain which the playback device is located.

Example 9

The method of any examples 1-8, wherein the plurality of stored acousticarea responses corresponds to a plurality of best fit lines of acousticresponses previously measured on multiple media playback systems.

Example 10

The method of any of examples 1-9, wherein each respective set of storedaudio calibration settings includes respective audio calibrationsettings for offsetting one or more audio characteristics of anassociated respective stored acoustic area response.

Example 11

A playback device configured to perform the method of any of examples1-10.

Example 12

A tangible, non-transitory computer-readable medium having storedtherein instructions executable by one or more processors to cause adevice to perform the method of any of features 1-10.

Example 13

A system configured to perform the method of any of features 1-10.

The specification is presented largely in terms of illustrativeenvironments, systems, procedures, steps, logic blocks, processing, andother symbolic representations that directly or indirectly resemble theoperations of data processing devices coupled to networks. These processdescriptions and representations are typically used by those skilled inthe art to most effectively convey the substance of their work to othersskilled in the art. Numerous specific details are set forth to provide athorough understanding of the present disclosure. However, it isunderstood to those skilled in the art that certain embodiments of thepresent disclosure can be practiced without certain, specific details.In other instances, well known methods, procedures, components, andcircuitry have not been described in detail to avoid unnecessarilyobscuring aspects of the embodiments. Accordingly, the scope of thepresent disclosure is defined by the appended claims rather than theforegoing description of embodiments.

When any of the appended claims are read to cover a purely softwareand/or firmware implementation, at least one of the elements in at leastone example is hereby expressly defined to include a tangible,non-transitory medium such as a memory, DVD, CD, Blu-ray, and so on,storing the software and/or firmware.

What is claimed is:
 1. A playback device comprising: a microphone; aspeaker; one or more processors; an accelerometer configured to outputdata indicative of movement by the playback device; and data storagestoring instructions executable by the one or more processors to causethe playback device to perform operations comprising: storing anacoustic response database comprising a plurality of sets of storedaudio calibration settings, each set of stored audio calibrationsettings associated with a respective stored acoustic area response of aplurality of stored acoustic area responses; determining that theplayback device is to perform an equalization calibration of theplayback device; and in response to the determination that the playbackdevice is to perform the equalization calibration, initiating theequalization calibration, wherein the equalization calibrationcomprises: outputting, via the speaker, audio content; capturing, viathe microphone, audio data representing reflections of the audio contentwithin an area in which the playback device is located; based on atleast the captured audio data, determining an acoustic response of thearea in which the playback device is located; selecting a storedacoustic response from the acoustic response database that is mostsimilar to the determined acoustic response of the area in which theplayback device is located; and applying to the audio content, a set ofstored audio calibration settings associated with the selected storedacoustic response.
 2. The playback device of claim 1, wherein theoperations further comprise: receiving, from the accelerometer, dataindicating motion of the playback device; and in response to receivingdata indicating motion of the playback device, suspending theequalization calibration of the playback device.
 3. The playback deviceof claim 1, wherein determining that the playback device is to performthe equalization calibration of the playback device further comprises:receiving, from the accelerometer, data indicating the playback deviceis stationary for a predetermined duration of time; and in response todetecting that the playback device is stationary for the predeterminedduration of time, initiating the equalization calibration of theplayback device.
 4. The playback device of claim 1 wherein determiningthat the playback device is to perform the equalization calibration ofthe playback device comprises: performing the equalization calibrationperiodically over a first time period; receiving, from theaccelerometer, data indicating the playback device is stationary for apredetermined duration of time; and in response to detecting that theplayback device is stationary over the predetermined duration of time,performing the equalization calibration periodically over a second timeperiod, wherein the second time period is longer than the first timeperiod.
 5. The playback device of claim 1 wherein initiating theequalization calibration comprises performing the equalizationcalibration periodically, wherein a time period between the equalizationcalibration is between 10 seconds and 30 seconds.
 6. The playback deviceof claim 1, wherein determining that the playback device is to performthe equalization calibration of the playback device further comprises:receiving an instruction to play audio content; and in response to theinstruction to play audio content, playing the audio content andinitiating the equalization calibration of the playback device.
 7. Theplayback device of claim 1, wherein initiating the equalizationcalibration comprises performing the equalization calibrationperiodically according to a time period between the equalizationcalibrations, and wherein determining that the playback device is toperform the equalization calibration of the playback device furthercomprises: determining the playback device is not outputting audiocontent when the time period between equalization calibration haselapsed; and in response determining the playback device is notoutputting audio content, suspending the equalization calibration of theplayback device.
 8. The playback device of claim 1, wherein determiningthe acoustic response of the area in which the playback device islocated further comprises: excluding captured audio data representingnoise in the area in which the playback device is located.
 9. Theplayback device of claim 1, wherein the plurality of stored acousticarea responses corresponds to a plurality of best fit lines of acousticresponses previously measured on multiple media playback systems. 10.The playback device of claim 1, wherein each respective set of storedaudio calibration settings includes respective audio calibrationsettings for offsetting one or more audio characteristics of anassociated respective stored acoustic area response.
 11. A methodcomprising: storing, via a playback device, an acoustic responsedatabase comprising a plurality of sets of stored audio calibrationsettings, each set of stored audio calibration settings associated witha respective stored acoustic area response of a plurality of storedacoustic area responses, wherein the playback device comprises aspeaker, a microphone, and an accelerometer; determining that theplayback device is to perform an equalization calibration of theplayback device; and in response to the determination that the playbackdevice is to perform the equalization calibration, initiating theequalization calibration, wherein the equalization calibrationcomprises: outputting, via the speaker, audio content; capturing, viathe microphone, audio data representing reflections of the audio contentwithin an area in which the playback device is located; based on atleast the captured audio data, determining, via the playback device, anacoustic response of the area in which the playback device is located;selecting, via the playback device, a stored acoustic response from theacoustic response database that is most similar to the determinedacoustic response of the area in which the playback device is located;and applying to the audio content, via the playback device, a set ofstored audio calibration settings associated with the selected storedacoustic area response.
 12. The method of claim 11, further comprising:receiving, from the accelerometer, data indicating motion of theplayback device; and in response to receiving data indicating motion ofthe playback device, suspending the equalization calibration of theplayback device.
 13. The method of claim 11, wherein determining thatthe playback device is to perform the equalization calibration of theplayback device further comprises: receiving, from the accelerometer,data indicating the playback device is stationary for a predeterminedduration of time; and in response to detecting that the playback deviceis stationary for the predetermined duration of time, initiating theequalization calibration of the playback device.
 14. The method of claim11, wherein determining that the playback device is to perform theequalization calibration of the playback device comprises: performingthe equalization calibration periodically over a first time period;receiving, from the accelerometer, data indicating the playback deviceis stationary for a predetermined duration of time; and in response todetecting that the playback device is stationary over the predeterminedduration of time, performing the equalization calibration periodicallyover a second time period, wherein the second time period is longer thanthe first time period.
 15. The method of claim 11, wherein initiatingthe equalization calibration comprises performing the equalizationcalibration periodically, wherein a time period between the equalizationcalibration is between 10 seconds and 30 seconds.
 16. The method ofclaim 11, wherein determining that the playback device is to perform theequalization calibration of the playback device further comprises:receiving an instruction to play audio content; and in response to theinstruction to play audio content, playing the audio content andinitiating the equalization calibration of the playback device.
 17. Themethod of claim 11, wherein determining the acoustic response of thearea in which the playback device is located further comprises:excluding captured audio data representing noise in the area in whichthe playback device is located.
 18. The method of claim 11, wherein theplurality of stored acoustic area responses corresponds to a pluralityof best fit lines of acoustic responses previously measured on multiplemedia playback systems.
 19. The method of claim 11, wherein eachrespective set of stored audio calibration settings includes respectiveaudio calibration settings for offsetting one or more audiocharacteristics of an associated respective stored acoustic arearesponse.
 20. Tangible, non-transitory computer-readable mediacomprising instructions that, when executed, cause a mobile device toperform a method comprising: storing, via a playback device, an acousticresponse database comprising a plurality of sets of stored audiocalibration settings, each set of stored audio calibration settingsassociated with a respective stored acoustic area response of aplurality of stored acoustic area responses, wherein the playback devicecomprises a speaker, a microphone, and an accelerometer; determiningthat the playback device is to perform an equalization calibration ofthe playback device; and in response to the determination that theplayback device is to perform the equalization calibration, initiatingthe equalization calibration, wherein the equalization calibrationcomprises: outputting, via the speaker, audio content; capturing, viathe microphone, audio data representing reflections of the audio contentwithin an area in which the playback device is located; based on atleast the captured audio data, determining, via the playback device, anacoustic response of the area in which the playback device is located;selecting, via the playback device, a stored acoustic response from theacoustic response database that is most similar to the determinedacoustic response of the area in which the playback device is located;and applying to the audio content, via the playback device, a set ofstored audio calibration settings associated with the selected storedacoustic area response.